第 1 頁(yè):?jiǎn)芜x題 |
第 5 頁(yè):操作題 |
第 8 頁(yè):參考答案 |
四、綜合應(yīng)用題(共18分)
本題的功能是用按鈕來(lái)控制文本框中文本的顏色。窗口中有兩個(gè)帶有文字標(biāo)題的面板“Sample text”和“Text color control”,窗口的底部還有一個(gè)復(fù)選按鈕“Disable changes”。在“Sample text”面板中有一個(gè)帶有字符串的文本框,而在“Text color control”面板中有三個(gè)按鈕:“Black”、“Red”和“Green”,并且每個(gè)按鈕上都有一個(gè)對(duì)應(yīng)顏色的圓。單擊任意按鈕,文本框中的文本變成對(duì)應(yīng)的顏色,如果選中“Disable changes”復(fù)選項(xiàng),則三個(gè)顏色按鈕變?yōu)椴豢捎茫绻∠x中復(fù)選項(xiàng),則三個(gè)按鈕變?yōu)榭捎谩?/P>
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class java3 extends JFrame{
private JPanel upper,middle,lower;
private JTextField text;
private JButton black,red,green;
private JCheckBox disable;
public java3(String titleText){
super(titleText);
addWindowListener(new WindowAdapter(){
public void
windowClosing(WindowEvent e){
System.exit(0);
}
}
);
upper=new JPanel();
upper.setBorder(BorderFactory.ereateTitledBor-
der("Sample text"));
upper.setlayout(new BorderLayout());
text=new JTextField("Change the color of this
text"):
upper.add(text,BorderLayout.CENTER);
middle=new JPanel();
middle.setBorder(BorderFactory.createTitledBor-
der("Text color control"));
middle.setLayout(new FlowLayout(FlowLayout.
CENTER)):
black=new JButton("Black",new ColorIcon
(Color.black));
black.addActionListener( new ButtonListener
(Color.black));
middle.add(black);
red=new JButton("Red",new ColorIcon(Col-
or.red));
red.addActionListener(new ButtonListener(Col-
or.red));
middle.add(red);
green=new JButton("Green",new ColorIcon
(Color.green));
green.addActionListener(new ButtonListener
(Color.green));
middle.add(green);
lower=new JPanel();
lower.setLayout(new FlowLayout(FlowLayout.
RIGHT));
disable=new JCheckBox("Disable changes"):
disable.addItemListener(new ItemListener()(
public void itemStateChanged(ItemEvent e){
boolean enabled
=(e.getStateChange()
= =ItemEvent.DESELECTED):
black.setEnabled(enabled);
red.setEnabled(enabled);
green.setEnabled(enabled);
}
}
);
lower.add(disable);
Container cp=getContentPane();
cp.add(upper,BorderLayout.NORTH);
cp.add(middle,BorderLayout.CENTER);
cp.add(10wer,BorderLayout.SoUTH);
pack();
setVisible(true);
}
class ButtonListener extends ActionListener{
private Color c;
public ButtonListener(Color c){
this.c=c;
}
public void actionPerformed(ActionEvent e){
text.setForeground(c);
}
}
class ColorIcon implements Icon{
private Color c;
private static final int DIAMETER=10;
public ColorIcon(Color c){
c=c;
}
public void paintlcon(Component cp,Graphics g,
int x,int y){
g.setColor(c);
g.fillOval(X,y,DIAMETER,DIAMETER);
g.setColor(Color.black);
g.drawOval(x,y,DIAMETER,DIAMETER);
}
public int getlconHeight(){
return DIAMETER;
}
public int getlconWidth(){
return DIAMETER;
}
}
public static void main(String[]args){
new java3("advance");
}
}
相關(guān)推薦:
2014年全國(guó)計(jì)算機(jī)等級(jí)考試無(wú)紙化考試系統(tǒng)操作指導(dǎo)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |