Boa tarde,
Estou com problemas para acessar componentes através de outras classes e isto esta me obrigando a usar variáveis static ou deixando de criar uma classe ButtonHandler para controle de evento dos botões e usando o método actionPerformed diretamente na classe do frame, ou seja, não estou usando o OO que o Java oferece
No meu programa eu necessito mudar uma Label constantemente após clickar no botão
public class ButtonHandler implements ActionListener {
private char tentativa;
Pinicial p = new Pinicial();
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand()=="Arriscar") {
tentativa =Character.toUpperCase(Tela.gettxguess());//gettxguess é um metodo(static) criado na classe Tela para trazer o valor do TextField como Char
p.munderline(tentativa , Tela.lbpalavra.getText());
} }}
Na classe Pinicial:
public void munderline(char entrada, String palavrau)
{ //regras do metodo
Tela.lbpalavra.setText(palavrau);
}
public String underlines()
{ //rergas do metodo
return mpalavra;
}
Classe Tela:
public class Tela extends JFrame {
public static JTextField txguess;
private JButton btguess;
public static JLabel lbpalavra,lberro,lbdica,status;
Pinicial p = new Pinicial();
public Tela()
{
lbpalavra = new JLabel(p.underlines());
}
Minha duvida é: Como eu poderia acessar o lbpalavra na classe do buttonhandler ou settar seu valor na classe Pinicial sem com que eu tenha que torná-los static
Outra duvida também, é como eu poderia dar dispose() ou setVisible(false)(ou seja, esconder ou sair dela) no frame da Tela no momento em que eu clickar no Botão Arriscar?