代码:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
public class BullsAndCows {
//调用方法
Random random = new Random();
Frame frame = new Frame("猜数字");//框架
TextField textField = new TextField(15);//文本框
public int num;//随机数
public void init(){
frame.setLocation(30,10);
frame.add(textField,BorderLayout.CENTER);//将文本框置于中间
//定义按钮
Button begin = new Button("产生随机数");
Button ok = new Button("确定");
//布局管理
frame.add(begin,BorderLayout.NORTH);
frame.add(ok,BorderLayout.SOUTH);
//事件监听器
begin.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {//生成随机数按钮的监听事件
textField.setText("输入所猜测的数字:");
num = random.nextInt(10);
}
});
ok.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {//确认按钮的监听事件
String txtNum = textField.getText();
int n = Integer.parseInt(txtNum.substring(9,txtNum.length()));//截取文本框的数字部分
//与生成的随机数比较
if(n<num){
textField.setText("猜小了!");
}else if(n>num){
textField.setText("猜大了!");
}else{
textField.setText("猜对了!");
}
}
});
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
new BullsAndCows().init();
}
}
结果:
注:如果弹出的界面出现了乱码,可参考Java swing界面出现乱码的简单处理方法_telescope_U的博客-优快云博客
小小代码奉上,希望有所帮助。