одна кнопка выполняет различные действия при повторном нажатии - PullRequest
0 голосов
/ 06 октября 2019

Мне нужно то же самое JButton, чтобы выполнить другие действия после повторного нажатия. Как и в первый раз, когда я нажимаю кнопку, текст появится в первой строке моего JTextField, затем во второй раз, когда я щелкну по нему, текст появится во второй строке, если текстовое поле. Как мне это сделать?

Вот мой код Кстати:

private void addActionPerformed(java.awt.event.ActionEvent evt) {                                    
    String items1 =(String)list.getSelectedItem();
    String qty1 = qty.getText();
    String price1 = price.getText();


    int qty2 = Integer.parseInt(qty1);
    int price2 = Integer.parseInt(price1);

    if(evt.getSource() == add){
        order1.setText(Integer.toString(qty2));
        order2.setText(Integer.toString(price2));
        order3.setText(items1);
    }

Я буквально понятия не имею, что делать дальше.

Вот рисунок для графического интерфейса пользователя: http://prntscr.com/pfh96z

1 Ответ

1 голос
/ 06 октября 2019

Возьмите логическое значение isClickedOnce и измените его состояние после нажатия на кнопку

private Boolean isClickedOnce = false;
//..

private void addActionPerformed(java.awt.event.ActionEvent evt) { 
    if(!isClickedOnce) {
        //first click
        //..
    } else {
        //second click
        //..
    }
    isClickedOnce = !isClickedOnce;
}

Примечание. Каждый нечетный щелчок будет считаться первым щелчком, а каждое четное число - вторым щелчком. он будет переключаться между вашей первой и второй строкой.

Если ваш случай отличается, скажем, у вас есть n строк, описанная выше процедура не будет работать, и вы можете захотеть сделать что-то подобное со списком.

...