gpt4 book ai didi

Java Swing 简单程序

转载 作者:行者123 更新时间:2023-12-04 06:33:42 26 4
gpt4 key购买 nike

我是一名新的 Java 程序员,我一直在尝试设置一个简单的 Swing 程序,该程序允许用户将两个整数输入 JTextFields,当单击“添加”JButton 时,两个数字相加并输出总和在 JLabel 中。

但是,我可以处理这个问题,我遇到的困难是能够设置两个 JTextFields 以将无效数字视为零。例如,如果输入了字符“x”或“xxx”,这将导致该 JTextField 的值为 0 以进行添加。到目前为止,我已经使用了 try/catch 和 if/else 语句,但没有成功。在过去的两天里,我也在互联网上搜索了几个小时,为这个问题寻找一些解决方案,但没有结果。

任何帮助将不胜感激!到目前为止,我拥有的代码如下所示......

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class Adder extends JPanel implements ActionListener {

JButton addBut = new JButton("Add");
JTextField field1 = new JTextField("Number 1"),
field2 = new JTextField("Number 2");
JLabel numSum = new JLabel("=");

Adder() {
this.setPreferredSize(new Dimension(299, 43));
addBut.addActionListener(this);
setLayout(new FlowLayout());
add(field1);
add(field2);
add(numSum);
add(addBut);
}

public void actionPerformed(ActionEvent ae) {
if(ae.getSource().equals(addBut)){

try {
double one = Double.parseDouble(field1.getText());
double two = Double.parseDouble(field2.getText());
numSum.setText("" + (one + two));
}

catch(Exception ex) {
}
}

else {
field1.setText(" ");
field2.setText(" ");
numSum.setText("");
}
}

public static void main(String[] args){
JFrame jf=new JFrame();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Adder x = new Adder();
jf.add(x);
jf.pack();
jf.setVisible(true);
}
}

最佳答案

尝试

double one = 0.0;
double two = 0.0;
try {
one = Double.parseDouble(field1.getText());
}
catch(Exception ex) {
field1.setText("0");
}

try {
two = Double.parseDouble(field2.getText());
}
catch(Exception ex) {
field2.setText("0");
}

numSum.setText("" + (one + two));

关于Java Swing 简单程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5087647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com