2013-03-20 3 views
1

В моей программе есть две кнопки, и вам нужно щелкнуть их обоими, чтобы произошла распечатка системы. У меня возникли проблемы с попыткой добиться этого.swing нажатие на две кнопки

button[0].addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      button[0].setEnabled(false); 
      if(button[1].isEnabled(false)); 
       System.out.println("you clicked both buttons"); 
     } 
    }); 
    button[1].addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      button[1].setBackground(Color.YELLOW); 
      button[1].setEnabled(false); 
      if(buttons[0].isEnabled(false)); 
      System.out.println("you clicked both buttons"); 
     } 
    }); 

Я получаю ошибки в строке:

if(buttons[0].isEnabled(false)); 

говоря

The method isEnabled() in the type Component is not applicable for the arguments (boolean) 

Я только новичок в этом, так что было бы здорово, если бы кто-то может помочь или сказать мне еще способ сделать это.

+0

1) Для лучшей помощи рано, опубликовать [SSCCE] (http://sscce.org/). 2) * «в моей программе есть две кнопки, и вам нужно щелкнуть их обе, чтобы распечатать систему» ​​* *** Почему? *** Вернее, почему бы не создать одну кнопку «Печать»? –

+0

в моей последней программе он не будет создавать системную печать, откроется всплывающее окно. Но на данный момент это то, к чему я пришел. Btw это для assingment, который требует наличия двух кнопок, и вы должны щелкнуть оба из них. – user2185603

+0

* «Кстати, это для осени, требующего наличия двух кнопок». Я считаю, что трудно поверить. Можете ли вы скопировать/вставить часть, где, по вашему мнению, она говорит? Я подозреваю, что они означают что-то другое. –

ответ

3

Исключение очень ясно. isEnabled() не имеет параметров, поэтому вы должны использовать его таким образом buttons[0].isEnabled().

2

isEnabled не требует аргументации.

ли это:

if(buttons[0].isEnabled()) 
1

Вот ваш ответ:

button1.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent arg0) { 

     button1.setEnabled(false); 
     if (!button1.isEnabled() && !button2.isEnabled()) { 
      System.out.println("you clicked both buttons"); 
     } 
    } 
}); 

button2.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 

     button2.setBackground(Color.YELLOW); 
     button2.setEnabled(false); 
     if (!button2.isEnabled() && !button1.isEnabled()) { 
      System.out.println("you clicked both buttons"); 
     } 
    } 
}); 
+0

У вас есть несколько проблем в вашем коде, сначала не ставьте точки с запятой после того, как операторы if, второй метод isEnabled() не принимает аргумент, который возвращает true или false, используйте! инвертировать. – Tareq

+1

спасибо очень очень. это было чрезвычайно полезно. – user2185603

+0

Принять в качестве ответа – Tareq

Смежные вопросы