Не удается преобразовать входные данные JTextField в целочисленные значения, чтобы получить сумму в выходных данных. - PullRequest
0 голосов
/ 01 сентября 2018

Я хотел бы вычислить сумму своих входных данных в JTextField. Я думаю, что я не могу преобразовать входные данные в целое число. Любой совет? Пожалуйста, смотрите мои коды ниже. Я был бы признателен за ответ заранее большое спасибо

{
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);
]

1 Ответ

0 голосов
/ 01 сентября 2018

Возможно, вы захотите выполнить преобразование после того, как пользователь введет значение. Вы можете попробовать добавить слушатель действия к компонентам 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 в поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...