Member 13124828 Ответов: 1

У меня есть проблема с добавлением чисел в моем окне ?


Моя проблема в том , что когда я помещаю два числа в текстовое поле, после нажатия на кнопку "результат" оно не дает мне всего двух чисел !
и я не уверен насчет сканера, который я добавляю в событие, это просто мое мнение о чтении чисел в JFrame .
вот мой код :





калькулятор пакет.дополнение;

импорт пакета javax.качели.*;
импорт java. awt.*;
импорт Java.авт.событие.*;
импорт java.util.Сканер;



публичный класс CalculatorAddition {
public static int a ;
public static int b ; / / globale var
public static int s ;

общественные CalculatorAddition(){

JFrame f = новый JFrame();
Ли Т1 = новый ли он(" ");
Ли Т2 = новый ли он(" ");
Ли Т3 = новый ли он(" ");
JButton b3 = new JButton ("результат");

f. setSize(150,150);
t1. addActionListener ((ActionEvent arg0) - >
{Scanner in = новый сканер(System.in); / / я добавляю метод сканера для считывания чисел от пользователя
а = в.nextInt();
t3. setText(Integer. toString (a));});



t2. addActionListener ((ActionEvent arg0) - > / / событие
{Scanner in = новый сканер(System.in);
б = в.nextInt();
});


b3. addActionListener ((ActionEvent) - >
{s = a+b ;
t3. setText(Integer. toString(s));
});




JPanel p = новый JPanel();
p. добавить(t1);
p. добавить(t2);
p. добавить(t3);
p. добавить(b3);
f. getContentPane (). add(p,BorderLayout.ЦЕНТР);
Ф.показать();
}
public static void main(String...arg)
{ CalculatorAddition p = новое CalculatorAddition();
}}

Что я уже пробовал:

я хотел изменить событие на новый класс, но оно все равно не работает !

[no name]

Вам действительно нужно выучить java или любой другой язык программирования правильно, а не просто угадывать. Если вы не можете достать книгу, начните с https://docs.oracle.com/javase/tutorial/

wseng

Пожалуйста, отформатируйте свой код .

1 Ответов

Рейтинг:
7

wseng

Scanner sc = new Scanner(System.in);
Эта строка используется сканером для считывания входных данных с консоли. Как бы вы ожидали, что он будет читать из Ли ?

Чтобы получить значение из Ли, это должно быть что-то вроде
int a = t1.getText();


Если вы хотите увеличить ширину Ли, использовать JTextField(5) вместо этого не используйте Ли(" ").