java中怎么把两个JTextfield中的数字相加的值放到另一个JTextfield?_如何将jtextfield中的值解析为整数并对其执行一些数学操作?...

所以,我一直在尝试用Swing在Java中制作一个CelsiUS转换器,并坚持从

JTextField

把它解析成一个整数,这样我就可以对它执行一个方程。如果我把它作为

String

我不能做任何数学运算。

我添加了一个名为

cValue

在其中存储文本字段的值,然后在

ActionListener

将该字符串解析为

Integer

.

当我运行程序时,它打开了窗口,没有任何问题。我可以在文本字段中输入任何内容,但只要按一下按钮,程序就会退出,显示出一个我无法理解的错误。如果我把代码移出动作监听器并运行程序,它会给我一个错误。

现在,我对Java很陌生,我对它还不太熟悉。我使用Eclipse编写了这篇文章,并使用WindowBuilder创建了UI。我试过很多东西,但到目前为止都没用。我感谢任何形式的反馈。

这是代码:

private String cValue;

private String result = "0";

private JPanel contentPane;

private JTextField celsiusField;

private JButton convertButton;

/**

* Create the frame.

*/

public CelsiusConverter() {

setDefaultCloseOperation(CelsiusConverter.EXIT_ON_CLOSE);

setBounds(100, 100, 194, 134);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

contentPane.setLayout(null);

JLabel lblCelsius = new JLabel("Celsius");

lblCelsius.setBounds(10, 11, 61, 14);

contentPane.add(lblCelsius);

celsiusField = new JTextField();

celsiusField.setBounds(81, 8, 86, 20);

contentPane.add(celsiusField);

celsiusField.setColumns(10);

JLabel lblFahrenheit = new JLabel("Fahrenheit:");

lblFahrenheit.setBounds(10, 73, 70, 14);

contentPane.add(lblFahrenheit);

JLabel lblResult = new JLabel();

lblResult.setText(String.valueOf(result));

lblResult.setBounds(81, 73, 87, 14);

contentPane.add(lblResult);

cValue = celsiusField.getText();

convertButton = new JButton("Convert");

convertButton.setBounds(10, 39, 157, 23);

contentPane.add(convertButton);

convertButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

int parsed = Integer.parseInt(cValue);

}

});

}

/**

* Launch the application.

*/

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

CelsiusConverter frame = new CelsiusConverter();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

这就是错误:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""

at java.lang.NumberFormatException.forInputString(Unknown Source)

at java.lang.Integer.parseInt(Unknown Source)

at java.lang.Integer.parseInt(Unknown Source)

at learningWindowBuilder.CelsiusConverter$1.actionPerformed(CelsiusConverter.java:53)

at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)

at java.awt.Component.processMouseEvent(Unknown Source)

at javax.swing.JComponent.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

at java.awt.EventQueue.access$500(Unknown Source)

at java.awt.EventQueue$3.run(Unknown Source)

at java.awt.EventQueue$3.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)

at java.awt.EventQueue$4.run(Unknown Source)

at java.awt.EventQueue$4.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值