Quando eu clico no botao "NAO" ele nao esta chamando o metodo que eu quero

35 respostas
evertonsilvagomesjav

Bom pessoal to, seguindo as dicas eu inserir um contador pra saber se o botao "NAO" foi utilizado ou nao porem ele nao esta chamando meu metodo apos clicar no botao.

aqui esta o botao "NAO" :

private void nao(java.awt.event.ActionEvent evt) {                     

       ++contador;

       String nomeAnimal = JOptionPane.showInputDialog(null,"Qual animal você pensou?");
       String qualidade =  JOptionPane.showInputDialog(null,"Digite uma caracteristica do animal que voce pensou");

       Animal animal = new Animal();

       animal.setNome(nomeAnimal);
       animal.setQualidade(qualidade);

       Controller controller = new Controller();

       controller.addAnimal(animal);

       FramePrincipal fp = new FramePrincipal();

       fp.setVisible(true);

       this.dispose();

       
    }

AQUI ONDE ELE DEVERIA CHAMAR O METODO:

private void sim(java.awt.event.ActionEvent evt) {

    Controller controller = new Controller();

    FramePerguntaTubarao fpt = new FramePerguntaTubarao();

    if(fpt.getContador() > 0){

         controller.verificarPerguntas();

    }else{

        FramePerguntaTubarao perguntaSim = new FramePerguntaTubarao();
            perguntaSim.setVisible(true);
                this.dispose();
    }
    }

35 Respostas

lina

Oi,

Você notou a quantidade de <não> em sua pergunta? Acabei não entendendo a sua dúvida.
Poderia melhora-la ?

Tchauzin!

natureza

Ahahaha… Boaaaaa Lina !

Então tu tais fazendo este sistema para um emprego não é?

Vou analisar aqui…

É da Objective Solutions certo?

evertonsilvagomesjav

natureza kkk nao sou eu nao eu to fazendo o programa do carinha que quer o emprego, eu vi o topico dele e resolvi fazer aqui rs.

bom Lina desculpa ai kkk deixa eu ser mais claro:

Tenho um jButton que se chama “NAO” quando eu clico nesse botao eu tenho um contador onde, este contador me fala se o jButton “NAO” foi utilizado ou não. Se este jButton foi utilizado ele vai chamar um metodo pra mim, se nao foi utilizado ele nao vai chamar, porém nao esta dando certo pois o metodo nao esta sendo invocado.

lina

Oi,

Agora sim!

Então, preciso ver a criação do botão <não> e sua ação.
Se possível, postar o método que ele deveria chamar quando clicado no botão <não>.

Tchauzin!

evertonsilvagomesjav

Lina desculpa o nome do jButton é "Sim" so troquei os nomes mas o processo e o mesmo:

segue o jButton "Sim":

private void sim(java.awt.event.ActionEvent evt) {

    Controller controller = new Controller();

    FramePerguntaTubarao fpt = new FramePerguntaTubarao();

    if(fpt.getContador() > 0){

         controller.verificarPerguntas();

    }else{

        FramePerguntaTubarao perguntaSim = new FramePerguntaTubarao();
            perguntaSim.setVisible(true);
                this.dispose();
    }
    }

Segue o metodo que ele deve chamar:

public void verificarPerguntas (){

       if(this.listaAnimal.size() > 0){

           for(i =0; i < this.listaAnimal.size(); i++){
               
               nome = JOptionPane.showInputDialog(null,"O animal que você pensou e? " +this.listaAnimal.get(i).getQualidade());

          if(nome.equalsIgnoreCase(this.listaAnimal.get(i).getQualidade())){

              JOptionPane.showMessageDialog(null,"O animal que você pensou é:" +this.listaAnimal.get(i).getNome());
          }else{

          JOptionPane.showMessageDialog(null,"aabc");

         }//else
       }//for
    }// fim if listaAnimal
}//fim metodo
lina

Oi,

Tudo bem...
para ele chamar o método verificarPerguntas() o getContador() da classe
FramePerguntaTubarao tem que ser maior que zero.

você já verificou se isso é realmente verdade?
O que faz essa classe FramePerguntaTubarao ?

Faz isso:

private void sim(java.awt.event.ActionEvent evt) {

    Controller controller = new Controller();

    FramePerguntaTubarao fpt = new FramePerguntaTubarao();
    System.out.println("Contador: "+fpt.getContador());
    if(fpt.getContador() > 0){

         controller.verificarPerguntas();

    }else{

        FramePerguntaTubarao perguntaSim = new FramePerguntaTubarao();
            perguntaSim.setVisible(true);
                this.dispose();
    }
    }

Tchauzin!

evertonsilvagomesjav

Vou da agora o syso, so vou postar a classe FramePerguntaTubarao pra ficar mais claro:

import javax.swing.JOptionPane;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * FramePerguntaSim.java
 *
 * Created on 27/10/2009, 08:59:24
 */

/**
 *
 * @author everton
 */
public class FramePerguntaTubarao extends javax.swing.JFrame {

    int contador = 0;

    public int getContador() {
        return contador;
    }

    public void setContador(int contador) {
        this.contador = contador;
    }

    /** Creates new form FramePerguntaSim */
    public FramePerguntaTubarao() {
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jButtonSim = new javax.swing.JButton();
        jButtonNao = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14));
        jLabel1.setText("O animal que você pensou é um tubarão?");

        jButtonSim.setText("Sim");
        jButtonSim.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                sim(evt);
            }
        });

        jButtonNao.setText("Nao");
        jButtonNao.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                nao(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(54, 54, 54)
                .addComponent(jLabel1)
                .addContainerGap(61, Short.MAX_VALUE))
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(38, 38, 38)
                .addComponent(jButtonSim, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 73, Short.MAX_VALUE)
                .addComponent(jButtonNao, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(33, 33, 33))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(119, 119, 119)
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 130, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButtonSim)
                    .addComponent(jButtonNao))
                .addContainerGap())
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                        

    private void sim(java.awt.event.ActionEvent evt) {                     

        JOptionPane.showMessageDialog(null, "Acertei de novo!!!");

        FramePrincipal fp = new FramePrincipal();

        fp.setVisible(true);

        this.dispose();
    }                    

    private void nao(java.awt.event.ActionEvent evt) {                     

       ++contador;

       String nomeAnimal = JOptionPane.showInputDialog(null,"Qual animal você pensou?");
       String qualidade =  JOptionPane.showInputDialog(null,"Digite uma caracteristica do animal que voce pensou");

       Animal animal = new Animal();

       animal.setNome(nomeAnimal);
       animal.setQualidade(qualidade);

       Controller controller = new Controller();

       controller.addAnimal(animal);

       FramePrincipal fp = new FramePrincipal();

       fp.setVisible(true);

       this.dispose();

       
    }                    

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new FramePerguntaTubarao().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton jButtonNao;
    private javax.swing.JButton jButtonSim;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JPanel jPanel1;
    // End of variables declaration                   

}
evertonsilvagomesjav

lina realmente meu contador nao esta incrementando mas a cada clique no jButton “Nao”, nao era pra ele incrementar ???

lina

Oi,

Então! ele realmente estará 0.
Pq??

A sua janela da classe FramePerguntaTubarao não é do tipo response. Ou seja, não é setModal(true);

Então quando você executar a linha de comando:

FramePerguntaTubarao fp = new FramePerguntaTubarao();

ele automaticamente continuará o processo fazendo a condição do IF sem mesmo você ter clicado no botão <não>.

Para corrigir isso, a sua janela deverá ser JDialog e não JFrame e em seu construtor utilizar o método setModal(true);

Tudo bem?

Tchauzin!

evertonsilvagomesjav

puts Lina pra trocar agora vou ter que fazer outra interface? nem sabia desse JDialog

esse setModal realiza o que vc pode me explicar?

brigadao!

lina

Oi,

Na realidade é só modificar o extends de sua classe FramePerguntaTubarao para JDialog no lugar de JFrame
e no construtor da classe utilizar o método setModal.

o setModal irá fazer com que o processamento fiquei para quando você executar o setVisible(true) de sua janela.
Ou seja, só fechando para continuar o restante do programa…

“modal - specifies whether dialog blocks input to other windows when shown; calling to setModal(true) is equivalent to setModalityType(Dialog.DEFAULT_MODALITY_TYPE), and calling to setModal(false) is equvivalent to setModalityType(Dialog.ModalityType.MODELESS)”

Tchauzin!

evertonsilvagomesjav

hum entendi eu fiz a mudança so que nao executa agora esta dando erro, ficou assim:

public class FramePerguntaTubarao extends javax.swing.JDialog {

    int contador = 0;

    public int getContador() {
        return contador;
    }

    public void setContador(int contador) {
        this.contador = contador;
    }

    /** Creates new form FramePerguntaSim */
    public FramePerguntaTubarao() {
        initComponents();

        setModal(true);
    }
lina

Oi,

Qual o erro ?

Tchauzin!

evertonsilvagomesjav

Deu essa pilha de erros:

run: Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: defaultCloseOperation must be one of: DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE, or DISPOSE_ON_CLOSE at javax.swing.JDialog.setDefaultCloseOperation(JDialog.java:705) at FramePerguntaTubarao.initComponents(FramePerguntaTubarao.java:52) at FramePerguntaTubarao.<init>(FramePerguntaTubarao.java:33) at FramePerguntaInicial.sim(FramePerguntaInicial.java:103) at FramePerguntaInicial.access$000(FramePerguntaInicial.java:16) at FramePerguntaInicial$1.actionPerformed(FramePerguntaInicial.java:47) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6263) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6028) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2475) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

evertonsilvagomesjav

alguem?

lina

Oi,

Você tentou procurar sobre este erro?

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5109681
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6503991

Verifique sua versão do java.

Tchauzin!

renamed

evertonsilvagomesjava:
Deu essa pilha de erros:

run: Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: defaultCloseOperation must be one of: DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE, or DISPOSE_ON_CLOSE at javax.swing.JDialog.setDefaultCloseOperation(JDialog.java:705) at FramePerguntaTubarao.initComponents(FramePerguntaTubarao.java:52) at FramePerguntaTubarao.<init>(FramePerguntaTubarao.java:33) at FramePerguntaInicial.sim(FramePerguntaInicial.java:103) at FramePerguntaInicial.access$000(FramePerguntaInicial.java:16) at FramePerguntaInicial$1.actionPerformed(FramePerguntaInicial.java:47) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6263) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6028) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2475) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

cara… verifica o método setDefaultCloseOperation, vc deve ter passado algum argumento que ele não reconhece como válido!

evertonsilvagomesjav

mas eu nem usei esse metodo setDefaultCloseOperation, aconteceu isso depois que eu troquei o extends da minha classe de JFrame para JDialog e setei no construtor o setModal(true).

renamed

posta seu código ai leke!

evertonsilvagomesjav

aii Renato o cod:

import javax.swing.JOptionPane;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * FramePerguntaSim.java
 *
 * Created on 27/10/2009, 08:59:24
 */

/**
 *
 * @author everton
 */
public class FramePerguntaTubarao extends javax.swing.JDialog {

    int contador = 0;

    public int getContador() {
        return contador;
    }

    public void setContador(int contador) {
        this.contador = contador;
    }

    /** Creates new form FramePerguntaSim */
    public FramePerguntaTubarao() {
             
        initComponents();

          setModal(true);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jButtonSim = new javax.swing.JButton();
        jButtonNao = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14));
        jLabel1.setText("O animal que você pensou é um tubarão?");

        jButtonSim.setText("Sim");
        jButtonSim.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                sim(evt);
            }
        });

        jButtonNao.setText("Nao");
        jButtonNao.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                nao(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(54, 54, 54)
                .addComponent(jLabel1)
                .addContainerGap(61, Short.MAX_VALUE))
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(38, 38, 38)
                .addComponent(jButtonSim, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 73, Short.MAX_VALUE)
                .addComponent(jButtonNao, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(33, 33, 33))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(119, 119, 119)
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 130, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButtonSim)
                    .addComponent(jButtonNao))
                .addContainerGap())
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                        

    private void sim(java.awt.event.ActionEvent evt) {                     

        JOptionPane.showMessageDialog(null, "Acertei de novo!!!");

        FramePrincipal fp = new FramePrincipal();

        fp.setVisible(true);

        this.dispose();
    }                    

    private void nao(java.awt.event.ActionEvent evt) {                     

       ++contador;

       String nomeAnimal = JOptionPane.showInputDialog(null,"Qual animal você pensou?");
       String qualidade =  JOptionPane.showInputDialog(null,"Digite uma caracteristica do animal que voce pensou");

       Animal animal = new Animal();

       animal.setNome(nomeAnimal);
       animal.setQualidade(qualidade);

       Controller controller = new Controller();

       controller.addAnimal(animal);

       FramePrincipal fp = new FramePrincipal();

       fp.setVisible(true);

       this.dispose();

       
    }                    

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new FramePerguntaTubarao().setVisible(true);
                
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton jButtonNao;
    private javax.swing.JButton jButtonSim;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JPanel jPanel1;
    // End of variables declaration                   

}
evertonsilvagomesjav

algupem sabe o que possa ser esse erro?

tRuNkSnEt

Cara, vc precisa aprender a olhar o que diz o seu stacktrace (pilha de erros). Veja que ele te fala ate a linha onde esta rolando o problema.

at FramePerguntaTubarao.initComponents(FramePerguntaTubarao.java:52)

Linha 52 do metodo initComponents da classe FramePerguntaTubarao. Mais especifico impossivel!
Se voce olhar tem sim um setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

evertonsilvagomesjav

Eliezer eu olhei o metodo setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

mas o que tem ele cara, o netbeans nao deixei eu alterar nada nele

evertonsilvagomesjav

alguem?

nel

Cara, infelizmente meu calcanhar de aquiles é Swing, principalmente se fizer utilizando NetBeans (Uso Eclipse).
Mas então, como já sabe a linha que o erro ocorre, usou o componente correto no NetBeans? Você realmente precisa deste componente em seu código?

Da uma revisada com calma, as vezes na própria configuração que você selecionou na criação do componente, talvez tenha que mudar o package que ele acessa. Exemplo: o que você usa é java.swing.compenente sendo que o correto seria java.swing.pacote.componente.

Abraços.

luistiagos

evertonsilvagomesjava:
Eliezer eu olhei o metodo setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

mas o que tem ele cara, o netbeans nao deixei eu alterar nada nele

copia o codigo cola no eclipse e altera… pronto…

evertonsilvagomesjav

Luis ok mas vo alterar ele pra como? Nao sei o que fazer =/

renamed

cara, como assim o netBeans não deixa vc alterar o código? Tenta comentá-lo. Na pior das hipóteses volta para a edição da tela e procura ela propriedade defaultCloseOperation e altera a propriedade que tem lá =)

evertonsilvagomesjav

Nao deixa cara os botoes nao foram criados na mao foram criados pela paleta o erro so acontece quando eu tiro extends de JFrame e passo pra JDialog e uso setModal(true), se eu usar extends JFrame nao da erro, e eu nao sei pq.

tRuNkSnEt

Cara, eu simplismente peguei seu codigo, colei no meu eclipse comentei aquele metodo e mandei rodar. Ficou lindo :slight_smile:

Agora eu sei que essas Ferramentas Visuais tem dessas mesmo. Então deve ter alguma coisa no Inspector falando como é a configuração de fechamento da tela igual o renamed disse.
Na verdade acho que a bagunça toda é porque você alterou o tipo da Janela na mão e acho que isso deveria ter sido feito usando as ferramentas visuais. Dai ele corrigiria as incompatibilidades que existe entre JFrame e JDialog.

Na pior da hipoteses refaça a tela. É uma tela pequena mesmo!

renamed

Eu não sou um dos melhores para dar opinião nesse assunto, porque eu uso eclipse há uns 2 ou 3 anos, então já estou muito familiarizado com a IDE. Eu já tentei usar o Netbeans diversas vezes e sempre acontece um problema “inexplicável” desses, ele não compila coisas que ele mesmo escreve.

NetBeans tem uma interface mais agradável que o eclipse, é mais fácil de se manipular quando você lida com swing, principalmente telas complexas, mas mesmo assim, eu sempre uso o eclipse.

evertonsilvagomesjav

hum vou tentar fazer isso, agora olha so to usando o Eclipse mais o visual editor.

Fiz um JDialog1 ok.

Em um outro JDialog2 eu tento chamar o JDalog1 da seguinte forma

JDialog1 jDialog1 = new JDialog1(null); // ele pede pra colocar null aqui.

jDialog1.setVisible(true);

this.dispose(); //aqui nao deixa eu dar dispose pq?
lina

Oi,

Apenas uma dica para você, pois estou vendo uma falta conhecimento em funções basicas:

  • Procure estudar a API.
  • Ler livros sobre JAVA basico.
  • Busque exemplos de codificação e comece a estuda-los.
  • Comece pelo inicio :wink:

Espero ter ajudado, ok?

Tchauzin!

evertonsilvagomesjav

puts Lina comecei a ler, mas eh pq nunca usei interface ai to me bagunçando todo, mas teria como me falar o pq de nao deixar da dispose?

C

Ola!
Executei o seu codigo no net beans e funcionou blz!
Eu tambem mandei comentar a linha:

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

Vc criou pelo editor do netbeans ne? por isso vc nao vai conseguir comentar!
Mas faça o seguinte, crie outra classe com o mesmo nome dessa “FramePerguntaTubarao”, e cole o seu codigo la.
Pra voce criar esta nova classe sera necessario deletar a classe “FramePerguntaTubarao” que voce tem, por isso faça um backup antes!

Criado 27 de outubro de 2009
Ultima resposta 29 de out. de 2009
Respostas 35
Participantes 8