天天看点

java 猜数字小游戏

GuessNum:

package 猜数字1;
public class GuessNum {
  public static void main(String args[]){
    BuildWindow win=new BuildWindow("猜数字");
  }
}      

BuildWindow:

package 猜数字1;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class BuildWindow extends JFrame{
  static JButton guessButton;//为了能够在PoliceListener内e.getSource调用它
  static JButton enterButton;//百度好久才找到
  static JLabel result;//
  JTextField showText;
  PoliceListener listener;
  public BuildWindow(String s){
    init();
    setVisible(true);
    setBounds(100,100,260,160);
    setTitle(s);
    validate();
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
  void init(){
    setLayout(new FlowLayout());
    guessButton = new JButton("获取随机数");
    add(guessButton);
    result = new JLabel("lala");
    add(result);
    result.setBackground(Color.blue);
    showText = new JTextField(10);
    add(showText);
    enterButton = new JButton("确定");
    add(enterButton);
    listener=new PoliceListener();//第一次忘记了。。结果不出现结果。找了好久
    guessButton.addActionListener(listener);
    enterButton.addActionListener(listener);
    listener.setJTextField(showText);
  }
}      

PoliceListener:

package 猜数字1;
import javax.swing.*;
import java.awt.event.*;
public class PoliceListener implements ActionListener{
  int num;
  JTextField showText;
  public void setJTextField(JTextField text){
    showText=text;
  }
  public void actionPerformed (ActionEvent e){
    if(e.getSource()==BuildWindow.guessButton){
      num=(int)(Math.random()*100)+1;
      BuildWindow.result.setText("输入你的猜测(1-100)");
    }
    else if(e.getSource()==BuildWindow.enterButton){
      int guess;
      try{  guess=Integer.parseInt(showText.getText());
          if(guess==num){
            BuildWindow.result.setText("猜对了!");
          }
          else if(guess>num){
            BuildWindow.result.setText("猜大了");
          }
          else if(guess<num){
            BuildWindow.result.setText("猜小了");
          }
      }
      catch(NumberFormatException event){
        BuildWindow.result.setText("请输入数字字符");
      }
    }
  }
}      

这是运行结果

java 猜数字小游戏