как заставить JButton действовать как статическая переменная, т.е. работать во всех методах - PullRequest
1 голос
/ 04 декабря 2011

У меня есть кнопка массива JButton [100], и я использую более одного метода, один создает 100 кнопок, а другой слушатель действия, который я использовал

String abc=button[i].setActionCommand(String.format("Button %d", i));  

, чтобы найти, какая кнопка была нажатано переменная кнопка не может быть идентифицирована.

Ответы [ 3 ]

2 голосов
/ 04 декабря 2011

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

class YourClass {

     private JButton[] buttons; // instance variable, accessible to all methods in class 

     public void foo() {
          buttons = new JButton[100]; // can use buttons here
     }

     public void bar() {
          // can also use buttons here
          for (JButton button : buttons) {  

         }
     }
}
1 голос
/ 04 декабря 2011

Чтобы узнать в ActionListener, какая кнопка была нажата, вы можете запросить у ActionEvent ее источник (см. ActionEvent # getSource ).Это будет кнопка

0 голосов
/ 11 декабря 2011
public class abc{

 JButton button[]=new JButton[100];

method

}
...