本题的功能是用按钮来控制文本框中文本的颜色。窗口中有两个带有文字标题的面板“Sampletext”和“Textcol—orcontrol”.窗口的底部还有一个复选按钮“Disablechan—ges”。在“Sampletext”面板中有一个带有字符串的文本

admin2013-12-02  77

问题 本题的功能是用按钮来控制文本框中文本的颜色。窗口中有两个带有文字标题的面板“Sampletext”和“Textcol—orcontrol”.窗口的底部还有一个复选按钮“Disablechan—ges”。在“Sampletext”面板中有一个带有字符串的文本框.而在“TextCOlOrcontrol”面板中有三个按钮:“Black”、“Red”和“Green”.并且每个按钮上都有一个对应颜色的圆。单击任意按钮.文本框中的文本变成对应的颜色.如果选中“Dis—ablechanges”复选项.则三个颜色按钮变为不可用,如果取消选中复选项,则三个按钮变为可用。
importjavax.swing.*;
importjava.awt.*;
importjav8.awt.event.*;
publicclassjava3extendsJFrame{
privateJPanelupper,middle,lower;
privateJTextFieldtext;
privateJButtonblack,red,green;
privateJCheekBoxdisable;
publicjava3(StringtitleText){
super(titleText);
addWindowListener(newWindowAdapter(){
publicvoid
windowClosing(WindowEvente)(
System.exit(0);
}
}
};
upper=newJPanel();
upper.setBorder(BorderFactory.createTitledBor—
der(“Sampletext”));
upper:setlayout(newBorderLayout());
text=newJTextField(”Changethecolorofthis
text”);
upper.add(text,BorderLayout.CENTER);
middle=newJPanel();
middle.setBorder(BorderFactory.createTitledBor—
der(”Textcolorcontrol”))l
middle.setLayout(newFlowl.ayout(Flowl。ayout.
CENTER));
black=newJButton(”Black”。newColorleon
(Color.black));
black.addAetionListener(newButtonListener
(Color.black));
middle.add(black);
red=newJButton(”Red”.newColorleon(Col—
or.red));
red.addActionListener(newButtonListener(Col—
or.red));
middle.add(red);
green=newJButton(”Green”.newColorlcon
(Color.green));
green.addActionListener(newButtonl。istener
(Color.green));
middle.add(green);
lower=newJPanel();
lower.setLayout(newFlowLayout(FlowLayout.
RlGHT));
disable=newJCheekBox(”Disablechanges”):
disable.addheml。istener(newheml.istener(){
publicvoiditemStateChanged(hemEvcnte){
booleanenabled
=(e.getStateChange()
==hemEvent.DESELECTED);
black.setEnabled(enabled);
red.setEnabled(enabled);
green.setEnabled(enabled);
}
}
};
lower.add(disable);
Containercp=getC0ntentPane();
cp.add(upper,BorderLayout.NORTH);
cp.add(middle.BorderLayout.CENTER);
cp.add(10wer,BorderLayout.S()UTH);
pack();
setVisible(true);
}
classButtonListenerextendsActionListener{
privateColorc;
publicButtonListener(Colorc)}
this.c=c;
}
publicvoidactionPerformed(ActionEvente){
text.setForeground(c);
}
}
ClaSSColorlconimplementsIcon{
privateColorc;
privatestaticfinalintDIAMETER=10;
publicColorlcon(Colorc){
c=c
}
publicvoidpainllcon(Componentcp,Graphicsg,
intx,intY){
g.setColor(c)l
g.fillOval(X,y.DIAMETER,DIAMETER);
g.setColor(Color.black)I
g.drawOval(x,y,DIAMETER,DIAMETER);
}
publicintgetlconHeight();
returnDIAMETER,
}
publicintgetlconWidth(){
returnDIAMETER;
}
}
publicstaticvoidmain(String[]args){
newjava3(”advance”);
}
}

选项

答案第1处:upper.setLayout(newBorderLayout( ))第2处:classButtonListenerimplementsActionListener第3处tthis.C=C

解析 第1处令面板upper采用BorderLayout布局I第2处是要求类ButtonListener实现ActionListener接口,达到通过按钮改变字体颜色的目的。第三处是设置按钮前圆形的颜色。
转载请注明原文地址:https://jikaoti.com/ti/wOkiFFFM
0

相关试题推荐
最新回复(0)