没什么说的,就是当按钮被按下后,会产生ActionEvent 事件,需要用 ActionListener 接口进行监听和处理事件。
下面是一个菜数字大小的游戏
package frame;
import java.awt.event.*;
import java.awt.*;
class WindowButton extends Frame implements ActionListener{
int number;
Label prompt = new Label("提示条");
TextField inputs = new TextField("输入框");
Button buttonGetNumber, buttonEnter;
WindowButton(String str){
super(str);
setLayout(new FlowLayout());
buttonGetNumber = new Button(" 得到一个随机数");
add(buttonGetNumber);
prompt = new Label(" 输入你行猜的数字", Label.CENTER);
prompt.setBackground(Color.cyan);
inputs = new TextField("0",10);
add(prompt);
add(inputs);
buttonEnter = new Button("确定");
add(buttonEnter);
buttonEnter.addActionListener(this);
buttonGetNumber.addActionListener(this);
setBounds(100, 100, 150, 150);
setVisible(true);
validate();
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == buttonGetNumber){
number = (int) (Math.random() * 100) + 1;
prompt.setText("输入你的猜测");
}else if(e.getSource() == buttonEnter){
int guess = 0;
try{
guess = Integer.parseInt(inputs.getText());
if(guess == number){
prompt.setText("你才对了");
}else if(guess > number){
prompt.setText("你猜小了");
}else if(guess < number){
prompt.setText(" 你才打了");
}
}catch (NumberFormatException event){
prompt.setText("请输入数字");
}
}
}
}
public class Fra{
public static void main(String ars[]){
WindowButton win = new WindowButton("窗口");
}
}