Java 无法将JTextField输入转换为整数以获取输出中的和
我想计算JTextField上输入的总和。我想我无法将输入转换为整数。有什么建议吗?请看下面我的代码。我希望能提前得到答复,非常感谢Java 无法将JTextField输入转换为整数以获取输出中的和,java,swing,Java,Swing,我想计算JTextField上输入的总和。我想我无法将输入转换为整数。有什么建议吗?请看下面我的代码。我希望能提前得到答复,非常感谢 { JPanel myPanel = new JPanel(); JTextField SGEAC1 = new JTextField("0",10); String sgeac1tx = SGEAC1.getText(); int eac1sg = Integer.parseInt(sgeac1tx); JTextField SGEAC2 = new J
{
JPanel myPanel = new JPanel();
JTextField SGEAC1 = new JTextField("0",10);
String sgeac1tx = SGEAC1.getText();
int eac1sg = Integer.parseInt(sgeac1tx);
JTextField SGEAC2 = new JTextField("0",10);
String sgeac2tx = SGEAC2.getText();
int eac2sg = Integer.parseInt(sgeac2tx);
myPanel.add(new JLabel("SG-EAC1:"));
myPanel.add(SGEAC1);
myPanel.add(Box.createHorizontalStrut(15));
myPanel.add(new JLabel("SG-EAC2:"));
myPanel.add(SGEAC2);
myPanel.add(Box.createHorizontalStrut(15));
int IPLBW = JOptionPane.showConfirmDialog(null, myPanel, "BW",
JOptionPane.OK_CANCEL_OPTION);
int sumbw = eac1sg+eac2sg; }
if (IPLBW == JOptionPane.OK_OPTION) {
JTextArea ta = new JTextArea(100, 100);
ta.setText("INTERNATIONAL UPSTREAM LINK UPDATE"+"\n" + sumbw
+ "\n"+"-----------------------------"
+ "\n"+"TOTALS SG BW: "+ sumbw +"/"
+ "\n"+"-----------------------------"
+ "\n" + "SG via EAC1"+" " + SGEAC1.getText()+"G"
+ "\n" + "SG via EAC2"+" " + SGEAC2.getText()+"G");
JOptionPane.showMessageDialog(null, new JScrollPane(ta), "RESULT",
JOptionPane.INFORMATION_MESSAGE);
ta.setWrapStyleWord(true);
ta.setLineWrap(true);
ta.setCaretPosition(0);
ta.setEditable(false);
]
您可能希望在用户输入值后进行转换。您可以尝试向JTextField组件添加操作侦听器。以下是一个例子:
SGEAC1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String sgeac1tx = ((JTextField)e.getSource()).getText();
int eac1sg = Integer.parseInt(sgeac1tx);
System.out.println("SGEAC1 value = " + eac1sg);
}
});
请注意,当用户在字段中按Enter键时,将调用操作侦听器。
Integer.parse(SGEAC1.getText())
?@MadProgrammer他已经知道Integer.parseInt
。这是个问题。@DawoodibnKareem哦,这不是你展示JOptionPaneSorry后应该计算结果的地方。伙计们,我只是个傻瓜。我只是将If语句中的字符串和int变量移到输出之前。现在它起作用了。谢谢你的主意,先生们