JAVA 编写一个java图形GUI程序,比较大小数并输出

当在两个文本框输入数据后,点击“最大数”按钮时,能把其中的大数显示在第三个文本框内;点击“关闭”按钮时,能关闭窗口。

1.首先定义三个输入框
JTextField firstNumber;
JTextField secontdNumber;
JTextField maxNumber;
2.然后怎样生成并把它们放到界面上我就不多说了。
3.接下来生成最大数按钮maxNumberButton和关闭按钮closeButton,并放在界面上。
然后让maxnNumberButton监听鼠标单击事件

maxNumberButton.addMouseListener(new MouseAdapter() {
if (SwingUtilities.isLeftMouseButton(e)) {//判断是否鼠标左键按下
//在这里获得第一个和第二个数并比较获得最大的数,当然,你还可以首先判断是否已经输入了两个数,判断输入的两个值是否是数值等等的。你也可以在外边实现一个方法,直接返回最大值。然后是把最大值显示出来。
//从输入框直接获得的是string,你要自己转换成数值,具体怎样做我就不说了。默认你已经获得了两个值,并得到最大值max,顺便说一下float和double是不能直接大于小于这样比较的。
maxNumber.setText("");//首先把之前显示的清除
maxNumber.setText(max);
}
});

关闭按钮处理类似
closeButton.addMouseListener(new MouseAdapter() {
if (SwingUtilities.isLeftMouseButton(e)) {
System.exit(0);
}
});
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-08
第一步:获取两个 Label的输入数字a,b
第二步:
写一个比较函数
public int compare(int a,int b){
if(a>=b){
return a;
}else{
return b;
}
}
第三步:监听最大数按钮 在按钮事件里面
zuidashuJButton.addActionListener(

new ActionListener()

{

public void actionPerformed( ActionEvent event )

{
JLabel.setText(compare(int a,int b)+“”);

}

}

);

最后监听 关闭按钮

guanbiJButton.addActionListener(

new ActionListener()

{

public void actionPerformed( ActionEvent event )

{
System.exit(0);
}

}

);
关于如何定义 控件 建议看下有关文档。
第2个回答  推荐于2017-09-27
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Test{
private JFrame jf;
private JPanel jp;
private JLabel jl;
private JTextField jtf1;
private JTextField jtf2;
private JTextField jtf3;
private JButton jb1;
private JButton jb2;
private void init(){
jf = new JFrame("Application图形界面");
jf.setBounds(600,200,300,200);
jf.setLayout(null);

jl = new JLabel("请输入两个整型数据:");
jl.setBounds(80,5,150, 30);
jf.add(jl);

jtf1 = new JTextField();
jtf1.setBounds(25, 40, 90, 20);
jtf1.setHorizontalAlignment(JTextField.CENTER);
jf.add(jtf1);

jtf2 = new JTextField();
jtf2.setBounds(165, 40, 90, 20);
jtf2.setHorizontalAlignment(JTextField.CENTER);
jf.add(jtf2);

jtf3 = new JTextField();
jtf3.setBounds(25, 80, 120, 30);
jtf3.setHorizontalAlignment(JTextField.CENTER);
jf.add(jtf3);

jb1 = new JButton("最大值");
jb1.setBounds(160, 80, 100, 30);
jf.add(jb1);

jb2 = new JButton("关闭");
jb2.setBounds(100, 115, 85, 30);
jf.add(jb2);

myEvent();

jf.setResizable(false);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}

private void myEvent(){
jb1.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
String str1 = jtf1.getText();
String str2 = jtf2.getText();
try{
int num1 = Integer.parseInt(str1);
int num2 = Integer.parseInt(str2);
jtf3.setText(String.valueOf(num1 > num2 ?num1:num2));
} catch (NumberFormatException e2){
JOptionPane.showMessageDialog(null, "输出错误,请重新输入", "alert", JOptionPane.ERROR_MESSAGE);
}
finally{
jtf1.setText("");
jtf2.setText("");
}
}
});

jb2.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
}

public Test(){
init();
}

public static void main(String[] args){
new Test();
}
}本回答被提问者采纳
第3个回答  2013-11-08
你这个是作业吧!是作业的话就自己研究下吧!
相似回答