简单应用题
42本题的功能是用按钮来控制文字的颜色。窗口中有三个按钮“Yellow”、“Blue”和“Red”,它们分别对应文字标签中文本的颜色为黄色、蓝色和红色,单击任意一个按钮,文字标签中的文本就变成按钮对应的颜色。
import java.awt.*;
import java.awt.event.*;
import javflx.swing.*;
class ButtonPanel extends JPanel implements ActionL-
istener{
public ButtonPanel(){
yellowButton=new J Button("Yellow");
blueButton=new JButton("Blue");
redButton=new JButton("Red");
j1=new JLabel("I am from China!");
add(yellowButton);
add(blueButton);
add(redButton);
add(j1);
yellowButtofl.addActionListener(this);
blueButton.addActionListener(this);
redButton.addActionListener(this);
}
public void actionPerformed(ActionEvent evt){
0bject source=evt.getSource();
Color color=getForeground();
if(source= =yellowButton)color=Color.
yellow;
else if(source= =blueButton)color=Color.
blue;
else if(source= =redButton)color=
Color.red;
;
;
}
private JButton yellowButton;
private JButton blueButton;
private JButton redButton;
private JLabel jl;
}
class ButtonFrame extends JFrame{
public ButtonFrame(){
setTitle("exam l6");
setSize(300,200);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(O);
}
});
Container contentPane=getContentPane();
contentPane.add(new ButtonPanel());
}
}
public class java2{
public static void main(String[]args){
JFrame frame=new ButtonFrame();
frame.show();
}
}
参考解析:
第1处:jl.setForeground(color)
第2处:jl.repaint()
【解析】在构件类的方法中,setForeground()为设置构件的前景色,repaint()为重新绘制构件。
相关推荐: