JButton не может быть отключен - PullRequest
0 голосов
/ 11 мая 2018

У меня есть кнопка JButton, которую я хочу отключить, когда она была нажата 10 раз.Хотя по какой-то причине мой код не работает.Можете ли вы помочь мне в этом?

button.addActionListener(new ActionListener() {
    int counter = 0;
    public void actionPerformed(ActionEvent arg0)
    {
        liste.add((double) Integer.parseInt(textField.getText()));
        textField.setText("");
        while(counter < 9)
        {
            counter++;

            if(counter == 10)
            {
                buton.setEnabled(false);
            }
        }
    }
}

Кроме того, я хочу показать диалоговое окно сообщения, когда оно было нажато 10 раз.Вы можете мне помочь?

Ответы [ 3 ]

0 голосов
/ 11 мая 2018

Ответ таков. Спасибо, ребята.

buton.addActionListener(new ActionListener() {
  int counter = 0;
  public void actionPerformed(ActionEvent arg0) {
     liste.add((double) Integer.parseInt(textField.getText()));
     textField.setText("");
     counter++;
     if (counter == 10) {
        buton.setEnabled(false);
     }
   }
 }
0 голосов
/ 11 мая 2018

Вам даже не нужен цикл while, просто переместите int counter = 0 над addActionListener(... и увеличьте счетчик внутри public void actionPerformed().Затем отметьте if (counter == 10) внутри actionPerformed.

Чтобы показать окно сообщения, вы используете JOptionPane.showMessageDialog();

Javadoc

public static void showMessageDialog(Component parentComponent,
    Object message,
    String title,
    int messageType)
    throws HeadlessException 

Выводит диалоговое окно, в котором отображается сообщение с использованием значка по умолчанию, определенного параметром messageType.


Примерно так должен выглядеть ваш код, если вы все сделали правильно.

int counter = 0;

button.addActionListener(new ActionListener()
{
    public void actionPerformed(ActionEvent e)
    {
        counter++;

        if(counter == 10)
        {
            button.setEnabled(false);

            // Show message dialog
            JOptionPane.showMessageDialog(null, "This is my message", "This is my message title", JOptionPane.INFORMATION_MESSAGE);
        }
    }
}
0 голосов
/ 11 мая 2018
public void mousePressed( MouseEvent e ) {
    if ( e.getClickCount() == 10 ) {
        ( (JButton) ev.getSource).setEnabled( false );
    }
}

или

int counter = 0;

private void functionForButtonClick (Events, handlers etc..){
    counter++;

    if(counter >= 10){
        btnHold1.setEnabled(false);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...