试设计一窗口,内含一个按钮。开始运行时,按钮显示“Click Me”字样,当按钮按下时,按钮显示为“Click Me Again”字样,再按一次,则按钮显示“Click Me”字样,依次循环。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class test {
static Boolean flag;
public static void main(String[] args) {
flag =true;
JFrame frame =new JFrame ("this is a frame ");
//设置窗体的相关属性,默认布局为borderlayout
frame.setBounds(60,100,400,300);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//不写final的话A行和B行会报错“不能引用另一方法中定义的内部类中非终态变量”
final JButton btn1=new JButton ("click me !");
frame.add(btn1, BorderLayout.CENTER);
btn1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (flag){
btn1.setText("click me again ! "); //A行
flag=false;
}
else{
btn1.setText("click me !"); //B行
flag=true;
}
}
});
frame.validate(); //awt包中,用来刷新重画的界面
}
}