public class GussNumber1 extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
int randInt=0;
int userInt=0;
JLabel label1;
JLabel label2;
JTextField numJtf;
JButton okBtn;
void GuessNumber1(){
setLayout(new FlowLayout());
randInt=(int)(Math.random()*100);
label1=new JLabel("请输入1到100的整数:");
label2=new JLabel("猜猜看!");
numJtf=new JTextField(12);
okBtn=new JButton("确定");
add(label1);
add(numJtf);
add(okBtn);
add(label2);
setSize(300,200);//窗口大小
setVisible(true);
okBtn.addActionListener(new ActionEventHandle());//注册动作事件
numJtf.addActionListener(new ActionEventHandle());//注册动作事件
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
class ActionEventHandle implements ActionListener{//内部类的使用方法
public void actionPerformed(ActionEvent e){
if(e.getSource()==okBtn){
eventHandle();
}
else if(e.getSource()==numJtf){
eventHandle();
}
}
}
public void eventHandle(){
try{
userInt=Integer.parseInt(numJtf.getText().trim());
}catch(NumberFormatException e){
JOptionPane.showMessageDialog(this, "请将您猜的的整数输入文本框中!");
numJtf.setText("");
numJtf.requestFocus();
}
if(userInt<0||userInt>100){
//如果输入的不是数值型的数据,弹出对话框提示: 请输入1到100的整数!
JOptionPane.showMessageDialog(this, " 请输入1到100的整数!");
numJtf.setText("");
numJtf.requestFocus();//获得焦点
}
if(userInt label2.setText("您猜的数字偏小!"); numJtf.setText(""); numJtf.requestFocus(); } else if(userInt>randInt){ label2.setText("您猜的数偏大!"); numJtf.setText(""); numJtf.requestFocus(); } else if(userInt==randInt){ label2.setText("您猜对了!"); } } /*public void actionPerformed(ActionEvent e){ if(e.getSource()==okBtn){ eventHandle(); } else if(e.getSource()==numJtf){ eventHandle(); } }*/ public static void main(String[] args){ new GuessNumber(); } }