问题 问答题

【说明】
本程序通过移动滑动条修改颜色RGB值,从而控制颜色。程序中有一个面板、3个标签和3个滑动条,标签和滑动条一一对应,分别对应三原色红、绿、蓝,任意拖动其中的一个滑动条,所对应的颜色值就会发生变化,面板的颜色也会发生对应的变化,如下图所示,滑动条值的范围是0~255。


【Java代码】
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class simple extends JFrame implements AdjustmentListener
public simple()
setTitle("simple");
setSize(300, 200);
addWindowListener(new WindowAdapter()
public void windowClosing( (1) )
System.exit(0);

);
Container contentPane=getContentPane();
JPanel p= (2) ;
p.setLayout(new GridLayout(3, 2));
p.add(redLabel=new JLabel("Red 0"));
p.add(red=new JScrollBar(Adjustable. HORIZONTAL, 0, 0, 0, 255));
red.setBlocklncrement(16);
red.addAdjustmentListener(this);
p.add(greenLabel= (3) ("Green 0"));
p.add(green=new JScrollBar(Adjustable.HORIZONTAL 0, 0, 0, 255));
green setBIocklncrement(16);
green.addAdjustmentListener(this);
p.add(blueLabel=new JLabel("Blue 0"));
p.add(btue=new JScrollBar(Adjustable. HORIZONTAL, 0, 0, 0, 255));
blue,setBIocklncrement(16);
blue.addAdjustmentListener(this);
contentPane.add(p, "South");
colorPanet=new JPanel();
colorPanet.setBackground(new Color(0, 0, 0));
contentPane.add( (4) ,"Center");
public void adjustmentValueChanged(AdjustmentEvent evt)
redLabel.setText("Red"+red.getValue());
greenLabel.setText("Green"+green.getValue());
blueLabel.setText("Blue"+blue.getValue());
coiorPanel.setBackground(new Color(red.getValue(), green.getValue(), blue.getValue()));
colorPanel.repaint();

public static void main(String[] args)
JFrame f= (5) ;
f.show();

private JLabel redLabel;
private JLabel greenLabel;
private JLabel blueLabel;
private JScrollBar red;
private JScroilBar green;
private JScrollBar blue;
private JPanel colorPanel;

答案

参考答案:(1)WindowEvent e (2)new JPanel() (3)new JLabel
(4)colorPanel (5)new simple()

解析:

[分析]:
本题考查在Java中实现对面板颜色的控制。
题目要求三原色红、绿、蓝,通过任意拖动其对应的一个滑动条来改变,而面板的颜色也会发生对应的变化。这需要我们了解Java中对滑动条和颜色进行定义的类。下面我们来分析程序。
第(1)空在类simple的构造函数中,这个类是继承JFrame这个框架类的,这个构造函数的作用是创建一个框架。很明显此空是函数windowClosing()的参数,而这个函数的作用我们不难看出是关闭框架用的,其参数是WindowEvent e,因此,此空答案就为 WindowEvent e。
第(2)空是给JPanel类型的变量p赋一个值,JPanel类型是控制板类型,在程序上面申请了一个容器,此空应该是在容器中创建一个控制板,而Java中一般用关键字new来创建对象,因此,此空答案为new JPanel()。
第(3)空是给变量greenLabel赋一个初值,从程序中我们不难看出greenLabel是一个标签类型的变量,且其中存放的是绿色的值。结合程序中上下红和蓝的处理我们也不难推断出此空的答案为new JLabel。
第(4)空是容器对象contentPane的add()函数的参数,这个函数的作用是往其对象中增加内容,其第一个参数是要添加的对象,第二个参数是添加的位置,从程序中不难看出应该添加对象colorPanel,这是界面中下面的板块。因此,此空答案为colorPanel。
第(5)空是给JFrame类型的变量f赋一个值,而JFrame是框架类simple的父类,那么变量f应该是一个框架对象,关键字new一般用来创建一个新的对象,因此,此空答案为new simple()。

填空题
单项选择题