Я новичок в java, я просто хочу сделать простой JFrame, который принимает два числа в качестве ввода через JtextFields, суммирует их и возвращает ответ через JLabel ... но он просто не делает это то, что это, предполагают, чтобы сделать, вот мой код:Отображение суммы через JLabel
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.util.*;
public class gUi extends JFrame {
private JLabel lbl;
private JLabel lbl2;
private JLabel lbl3;
private JTextField tb;
private JTextField tb1;
private int num1;
private int num2;
public gUi(){
super("Sum Dialog");
setLayout(new FlowLayout());
lbl = new JLabel("1st Number:");
add(lbl);
tb = new JTextField(15);
add(tb);
tb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event){
num1 = Integer.parseInt(tb.getText());
}
});
lbl2 = new JLabel("2nd Number");
add(lbl2);
tb1= new JTextField(15);
tb1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
num2= Integer.parseInt(tb1.getText());
}
});
add(tb1);
int sum= num1+num2;
String ssum = Integer.toString(sum);
lbl3 = new JLabel();
lbl3.setText(ssum);
add(lbl3);
}
}
import java.awt.*;
import javax.swing.*;
public class Main {
public static void main(String[] args) {
gUi g =new gUi();
g.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
g.setVisible(true);
g.setSize(180, 160);
}
}
он компилирует Хорошо, но не показывает сумму через JLabel, когда я ставлю некоторые intergers через TextFields ... Я с этой проблемой в течение недели и попытался разные вещи, которые я знаю до сих пор, но проблема не устранена ...
'int sum = num1 + num2;' Этот кусок кода будет выполняться «немедленно» и только один раз, а 'num1' и' num2' по-прежнему '0'. Сумма всегда должна быть пересчитана в методах 'actionPerformed', а также в тексте метки суммы. –
Подсказка: узнайте о соглашениях об именах java. Названия классов - UpperCase; всегда. И избегайте использования «сокращений» в ваших именах, даже «AddingNumbersFrame» или что-то в этом роде будет более информативным, чем «gUI». – GhostCat