非常的激动,因为,这个问题困惑我很长时间,今天,终于搞明白了,我很高兴,很兴奋。虽然不是什么大作,但是,大作还是一点一点积累来的呀。
我的程序实现的功能是:判断用户输入的数字是否与计算机随机产生的数字相同,其中,分成两个类来实现与用户的交互和界面的显示两个功能。程序当然有待于改进,但是,思想我已经掌握了。
下面是界面显示的实现过程:
import java.awt.*;
import javax.swing.*;
public class Jiemian extends JFrame
{
JButton play=new JButton("play");
JButton reset = new JButton("reset");
JTextField key=new JTextField(20);
JTextField text=new JTextField("0",20);
JPanel row=new JPanel();
JPanel row1=new JPanel();
public Jiemian()
{
super ("没有目的的数学竞赛");
setSize(500,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GridLayout biglayout=new GridLayout(2,1);
GridLayout layout1=new GridLayout(2,1);
GridLayout layout2=new GridLayout(1,2);
this.setLayout(biglayout);
row.add(text);
row.add(key);
row1.add(play);
row1.add(reset);
this.add(row);
add(row1);
row.setLayout(layout1);
row1.setLayout(layout2);
key.setEditable(false);
setVisible(true);
Jiaohuy jiaohuy=new Jiaohuy(this);
play.addActionListener(jiaohuy);
reset.addActionListener(jiaohuy);
//放在构造函数里面
}
public static void main(String[] arguments)
{
Jiemian ceshi=new Jiemian();
}
}
下面是与用户交互的实现过程:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Jiaohuy implements ActionListener {
Jiemian jf;
public Jiaohuy(Jiemian jn)//构造方法
{
jf=jn;
}
public void actionPerformed(ActionEvent arg0)
{
String source = arg0.getActionCommand();
if(source=="reset")
{
jf.key.setText("重新开始吧");
jf.text.setText("");
}
if (source=="play")
{
//随机数
int i=(int)Math.floor(Math.random()*10+1);
// 将文本框中的值转化成int类型
int j=Integer.parseInt(jf.text.getText());
if (i==j){
jf.key.setText("您答对了!");
}
else
{
jf.key.setText("实际答案是"+i);
}
}
}
}
//this.bb.setText("nihao");
// TODO 自动生成方法存根