再次单击时,一个jbutton会执行不同的操作

时间:2019-10-06 08:28:27

标签: java swing user-interface jbutton

一旦再次单击,我需要相同的JButton来执行不同的操作。就像我第一次单击按钮一样,文本将出现在JTextField的第一行中,然后第二次单击时,文本将出现在第二行中。我该怎么办?

这是我的代码BTW:

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);
    }

我真的不知道下一步该怎么做。

这是设计GUI的图片:http://prntscr.com/pfh96z

1 个答案:

答案 0 :(得分:1)

采用布尔值isClickedOnce并在单击按钮时更改其状态

private Boolean isClickedOnce = false;
//..

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

注意:它将把每一个奇数点击都视为第一次点击,将每个偶数点击都视为第二点击。它将在您的第一行和第二行之间切换。

如果您的情况不同,则说您有n行,以上过程将不起作用,您可能想对列表做类似的事情。