[NÃO RESOLVIDO] - como habilitar Jbutton de um JFrame?

17 respostas
felipehts

boa tarde galera…

tenho uma tela principal(Jframe) no qual existe um JButton que fica desabilitado, tenho também o Jbutton2 que fica dentro de um JInternalFrame que por sua vez fica dentro de um JDesktopPane, a dúvida é a seguinte : Como habilitar o JButton através de JBUtton2 ???

obs: jah tentei colocar o JButton public, e criar uma instância do Jframe dentro do JinternalFrame; tentei também criar um metodo dentro do JFrame para habilitar o botão…através do
JButton.setEnable(true); , porém não obtive sucesso, alguém poderia me ajudar ??? agradeço a todos…vlw =)

17 Respostas

drsmachado

Posta o código onde está este jbutton.
A chamada ao método setEnabled está correta.

felipehts

drsmachado:
Posta o código onde está este jbutton.
A chamada ao método setEnabled está correta.

Código da tela principal (JFrame)

public class JPrincipalGUI extends javax.swing.JFrame {

    private static JPrincipalGUI singleton = null;
    /** Creates new form Dados */
    private static final JPrincipalGUI INSTANCIA;

    //BLOCO DE CODIGO STATIC , SOH EH EXECUTADO UMA VEZ
    static {
        INSTANCIA = new JPrincipalGUI();
    }
    //CONSTRUTOR PRIVADO

    public JPrincipalGUI() {
        lookandfellNimbus lafN = new lookandfellNimbus();
        lafN.lookandfellNimbus();
        initComponents();
        setLocationRelativeTo(null);
        bt_dados.setEnabled(false);
        bt_report.setEnabled(false);
    }

    public static JPrincipalGUI getInstance() {
        return INSTANCIA;
    }

    public void setButton() {
        bt_dados.setEnabled(true);
    }

estou chamando assim:

JPrincipalGUI jg = JPrincipalGUI.getInstance();
jg.setButton();

já tentei assim também:

JPrincipalGUI jg = new JPrincipalGUI();
jg.setButton();
felipehts

JButton criado no NetBeans assim:

public javax.swing.JButton bt_dados;
felipehts

?

jscamara

Tenta chamar o método diretamente

JPrincipalGUI.getInstance().setButton();

adiciona tbm um

this.revalidade();

depois da ação de habilitar o botão.

pode ser que ele não esteja atualizando a tela.

e arruma o seu construtor, no comentário esta escrito privado mas ele esta publico…

posta aew se não conseguir!

Abraços

felipehts

jscamara:
Tenta chamar o método diretamente

JPrincipalGUI.getInstance().setButton();

adiciona tbm um

this.revalidade();

depois da ação de habilitar o botão.

pode ser que ele não esteja atualizando a tela.

e arruma o seu construtor, no comentário esta escrito privado mas ele esta publico…

posta aew se não conseguir!

Abraços

tentei fazer da forma que você me passou, porém continua não aparecendo…ainda tentei acrescentar:

this.repaint();

mas não obtive sucesso…

jscamara

faz assim, tenta dar um System.out.println(“ação botao”); dentro do metodo do bt!

Veja se imprime alguma coisa no console…
pode ser algum erro na chamada do método…

testa aew e responde

felipehts

jscamara:
faz assim, tenta dar um System.out.println(“ação botao”); dentro do metodo do bt!

Veja se imprime alguma coisa no console…
pode ser algum erro na chamada do método…

testa aew e responde

Coloquei um print tanto no método que chama quanto no metodo que executa, e nos dois imprimiu… porém esqueci de um detalhe rs … o JButton que eu quero se seja habilitado está dentro de um jToolBar … tentei da um jToolBar.repaint(); …mas também não consegui

Anime

Oi,

Para colocar public, vc foi em propriedades, código, Modificadores de variáveis…

felipehts

Anime:
Oi,

Para colocar public, vc foi em propriedades, código, Modificadores de variáveis…


pelo NetBeans…“Customize Code”

Anime

felipehts:
Anime:
Oi,

Para colocar public, vc foi em propriedades, código, Modificadores de variáveis…


pelo NetBeans…“Customize Code”

Pelo NetBeans mesmo, tenta fazer como eu disse, vai na propriedade do botão, código, Modificadores de variáveis e muda para public…

felipehts

Anime:
felipehts:
Anime:
Oi,

Para colocar public, vc foi em propriedades, código, Modificadores de variáveis…


pelo NetBeans…“Customize Code”

Pelo NetBeans mesmo, tenta fazer como eu disse, vai na propriedade do botão, código, Modificadores de variáveis e muda para public…


bom conferir está como public, quanto a isso não tenho duvida ate porque consigo acessar por outra classe, o fato é que não consigo alterar seu “estado”. =)

felipehts

.

felipehts

?

claudneto

Tenta dar um repaint no frame todo!

felipehts

já tentei, mas continua não funcionando !

drsmachado

Posta a classe toda aí, só aquele trecho não deixa bem claro o que está acontecendo.

Criado 9 de maio de 2011
Ultima resposta 13 de mai. de 2011
Respostas 17
Participantes 5