victorwss
bruno_7317:
Meu código:
public class SimpleTableModel extends JPanel implements ActionListener {
static JButton b3;
private static void mostraTela(){
b3=new JButton("Insere Exceção");
b3.addActionListener([color=red]this[/color]);
add(b3);
}
public static void main(String[] args) {
mostraTela();
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b3){}
}
}
O erro está no “this”:Cannot use this in a static context…
Alguma idéia?
Você sabe o que a palavra “static” significa?
Ela significa exatamente que você não pode usar “this”!
Tenta assim:
public class SimpleTableModel extends JPanel implements ActionListener {
private JButton b3;
private void mostraTela(){
b3=new JButton("Insere Exceção");
b3.addActionListener(this);
add(b3);
}
public static void main(String[] args) {
new SimpleTableModel().mostraTela();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource()==b3){}
}
}
tecdanilo
Simples, this não pode ser usado em métodos estáticos, pois estes não fazem parte de um objeto instanciado. This é referente ao objeto instanciado.
bruno_7317
Valeu!
Eu sei que não pode usar this em static, só que não dava pra chamar o método no main…
ço meio ignorante ainda :roll:
Brigadão