天天看點

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 猜數字小遊戲