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("请输入数字字符");
}
}
}
}
这是运行结果 不知道这叫不叫可视化。。哈哈胡说的 莫怪