Почему дублируется диалог? Если запустить меню, выбрать доход, ввести доход, закрыть диалог, закрыть ввод дохода, в меню выбрать доход, ввести доход, то после нажатия на клавишу выдастся два диалога. и количество будет увеличиваться с каждым повторением. Возможно , нужно удалять объекты после каждого закрытия добавления дохода? Как исправить данную ошибку?
public class Test
{
int [] massD=new int[10];
int numD=0;
JButton buttonD=new JButton("Добавить доход"); //кнопки меню
JTextField input1D=new JTextField("",2); //ввод дохода
JButton button1D = new JButton("Ok"); //кнопка подтверждения для дохода
public void Test()
{
JPanel panelm = new JPanel();
buttonD.setFont(new Font("A", Font.BOLD, 35));
panelm.add(buttonD);
JFrame frame1m = new JFrame("Menu");
frame1m.setContentPane(panelm);
panelm.setLayout(new GridLayout(2, 1));
frame1m.setBounds(300,100,400,500);
frame1m.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1m.setVisible(true);
buttonD.addActionListener(new ButtonEventListener1()); //доход
}
class ButtonEventListener1 implements ActionListener { //Создаём класс реализующий ActionListener
public void actionPerformed(ActionEvent event) //метод получающий событие(нажатие на кнопку)
{
JPanel panel = new JPanel();
GridLayout gl = new GridLayout(3, 1);
JLabel jl = new JLabel("Добавте доход");
jl.setFont(new Font("a", Font.BOLD, 35));
panel.add(jl);
panel.add(input1D);
input1D.setFont(new Font("1", Font.BOLD, 35));
input1D.setText("");
panel.add(button1D);
button1D.setFont(new Font("A", Font.BOLD, 35));
button1D.addActionListener(new ButtonEventListener01()); //отсылка, что доход добавлен
JFrame frame1 = new JFrame("Добавление дохода");
frame1.setContentPane(panel);
frame1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
panel.setLayout(gl);
frame1.setBounds(600,300,400,250);
frame1.setVisible(true);
}
}
class ButtonEventListener01 implements ActionListener { //Создаём класс реализующий ActionListener
public void actionPerformed(ActionEvent event) //метод получающий событие(нажатие на кнопку)
{
massD[numD] = Integer.parseInt(input1D.getText());
numD++;
System.out.println(massD[numD]);
JOptionPane.showConfirmDialog(null, "Доход добавлен", "Doxod",JOptionPane.CLOSED_OPTION);
}
}
}
Вы при каждом нажатии добавляете слушатель
button1D.addActionListener(new ButtonEventListener01());
каждый из слушателей открывает по одному окну.
Виртуальный выделенный сервер (VDS) становится отличным выбором
В vuejs мы создали объект для отправки, json, давая имена через camelCase
создаю клавиатуру для упрощения общения с пользователемНо не могу понять как обработать нажатие на кнопку из клавиатуры
Необходимо вернуть объект JFrame в изначальное состояние, который имеет тип final
Хочу добавить поле к уже существующей коллекцииИспользование finOne перезаписывает полностью всю коллекцию, а мне из иного участка кода нужно...