public class string implements ActionListener{
JLabel jlab;
public void actionPerformed(ActionEvent Ae){
jlab.setText(Ae.getActionCommand());
}
public static void main(String args[]){
JFrame j = new JFrame("HP");
j.setSize(300,300);
j.setLayout(new FlowLayout());
j.setDefaultCloseOperation(j.EXIT_ON_CLOSE);
j.setVisible(true);
jlab=new JLabel("Here");
j.add(jlab);
JButton j1=new JButton("Button1");
j1.setActionCommand("Your pressed Button 1");
j1.addActionListener(this);
j.add(j1);
JButton j2=new JButton("Button2");
j2.setActionCommand("Your pressed Button 1");
j2.addActionListener(this);
j.add(j2);
}
}
Я хочу обрабатывать действия нескольких кнопок, используя тот же EventHandler. Когда кнопки будут нажаты, текст метки будет соответствующим образом изменен.ActionListener для нескольких кнопок-Swing
Этот код показывает ошибку,
Non static variable this cannot be referenced from a static context.
Как я могу исправить этот код?
Большая часть материала в основной метод должен быть перемещен в конструктор или статический '' INIT) методом, не (. Это решило бы ближайшую проблему - так как «это» будет существовать. –
См. Также http://stackoverflow.com/search?tab=relevance&q=%5bjava%5d%20Non%20static%20variable%20this%20cannot%20be%20referenced%20from%20a%20static%20context.%20 –