Problema com Frame (JButton)

Pessoal,

Estou montando uma tela onde um botão faz o direcionamento para outro, como podem perceber, ridícula minha dúvida neh?
Mas o botão não está funcionando (nao vai pra outra tela)…
Segue o código:

private void bntnovoActionPerformed(java.awt.event.ActionEvent evt) {
locChamados.frame.setContentPane( new CadChamados());
}

O erro que dá é: package locChamados não existe… o que eu preciso fazer?

O que é locChamados? É um objeto? Um classe? Onde é declarado? Onde é instanciado?

Então, só coloquei locChamados porque é o nome da classe que está esse método, pensei que fosse pra colocar…

preciso somente que ao clicar em um botão vá pra outra tela…

estou fazendo esse método na classe LocChamados…

private void bntnovoActionPerformed(java.awt.event.ActionEvent evt) {
locChamados.frame.setContentPane( new CadChamados());
}

tem que ir pra tela chamada CadChamados…
só isso…

Cara posta o código inteiro ai , e usa formatação BB tag [code] pro seu código ficar identado certinho.

To usando o Netbeans mas usando interface…
tipo arrastei o botão e agora preciso gerar o comando… rsrs

[code]package progefetivo;

import java.awt.;
import javax.swing.
;

/**
*

  • @author hegly
    */
    public class LocChamados extends javax.swing.JFrame {

    /** Creates new form LocChamados */
    public LocChamados() {
    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.
      */
      //
      private void initComponents() {

      jLabel14 = new javax.swing.JLabel();
      bntnovo = new javax.swing.JButton();
      jButton2 = new javax.swing.JButton();
      jButton3 = new javax.swing.JButton();
      jButton4 = new javax.swing.JButton();
      jButton5 = new javax.swing.JButton();

      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
      setTitle(“Relação de Chamados”);

      jLabel14.setFont(new java.awt.Font(“Book Antiqua”, 3, 18));
      jLabel14.setText(“Chamados”);

      bntnovo.setText(“Novo”);
      bntnovo.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseClicked(java.awt.event.MouseEvent evt) {
      ChamaFormCadChamados(evt);
      }
      });
      bntnovo.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      bntnovoActionPerformed(evt);
      }
      });

      jButton2.setText(“Pesquisar”);

      jButton3.setText(“Sair”);

      jButton4.setText(“Cadastro de usuarios”);
      jButton4.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      jButton4ActionPerformed(evt);
      }
      });

      jButton5.setText(“Cadastro Centro de custo”);

      org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
      getContentPane().setLayout(layout);
      layout.setHorizontalGroup(
      layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
      .add(layout.createSequentialGroup()
      .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
      .add(layout.createSequentialGroup()
      .add(39, 39, 39)
      .add(bntnovo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 69, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
      .add(18, 18, 18)
      .add(jButton2)
      .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
      .add(jButton4)
      .add(18, 18, 18)
      .add(jButton5))
      .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
      .add(316, 316, 316)
      .add(jLabel14, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .add(256, 256, 256)
      .add(jButton3)
      .add(48, 48, 48)))
      .addContainerGap())
      );
      layout.setVerticalGroup(
      layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
      .add(layout.createSequentialGroup()
      .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
      .add(layout.createSequentialGroup()
      .add(21, 21, 21)
      .add(jLabel14, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 32, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
      .add(32, 32, 32)
      .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
      .add(jButton2)
      .add(bntnovo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 23, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
      .add(jButton4)
      .add(jButton5)))
      .add(layout.createSequentialGroup()
      .addContainerGap()
      .add(jButton3)))
      .addContainerGap(424, Short.MAX_VALUE))
      );

      pack();
      }//

    private void bntnovoActionPerformed(java.awt.event.ActionEvent evt) {
    locChamados.frame.setContentPane( new CadChamados());
    }

    }

    private void ChamaFormCadChamados(java.awt.event.MouseEvent evt) {
    // TODO add your handling code here:
    }

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    }

    /**

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

    // Variables declaration - do not modify
    private javax.swing.JButton bntnovo;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JLabel jLabel14;
    // End of variables declaration

}[/code]

[quote=Hegly Senciani]Então, só coloquei locChamados porque é o nome da classe que está esse método, pensei que fosse pra colocar…

preciso somente que ao clicar em um botão vá pra outra tela…

estou fazendo esse método na classe LocChamados…

private void bntnovoActionPerformed(java.awt.event.ActionEvent evt) {
locChamados.frame.setContentPane( new CadChamados());
}

tem que ir pra tela chamada CadChamados…
só isso…[/quote]

Em tempo de execução vc não vai conseguir fzer isso , oq vc pode fzer é criar a instancia de CadChamados e depois vc setar no contentPane.

Ó fiz um exemplo , acho que é + ou - isso que vc quer…

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class WindowSample extends JFrame {
	
	private JPanel painel;
	
	
	public WindowSample() {
		this.initComponents();
	}
	
	private void initPanel() {
		painel = new JPanel();
		painel.setBackground(Color.RED);
		painel.setPreferredSize(new Dimension(200,200));
	}
	
	private void initComponents() {

		this.initPanel();
		
		JButton btn = new JButton("next");
		this.add(btn);

		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setLayout(new FlowLayout());
		this.setSize(200,200);
		this.setVisible(true);
		
		btn.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent arg0) {
				nextPage();
			}
		});
	}

	private void nextPage() {
		this.setContentPane(painel);
		this.validate();
	}
	
	public static void main(String[] args) {
		new WindowSample();
	}
	
}

Pra ficar mais fácil… vou colar somente o necessário…

[code]package progefetivo;

import java.awt.;
import javax.swing.
;

/**
*
*/
public class LocChamados extends javax.swing.JFrame {

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

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

               //essa linha não funciona...                
        locChamados.frame.setContentPane( new CadChamados());
}



                               

    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new LocChamados().setVisible(true);
        }
    });
}

// Variables declaration - do not modify                     
private javax.swing.JButton bntnovo;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JLabel jLabel14;
// End of variables declaration                   

}[/code]

Ficou melhor pra entender o problema neh?

Então, seu exemplo está meio complicado pra entender…

Fiz um exemplo da minha dúvida com um botão só…

A minha dúvida está na linha onde comentei que não sei o que colocar…

[code] public class BotaoTeste extends JPanel implements ActionListener {

  JButton btn;

//contrutor
public BotaoTeste() {

     btn = new JButton("Teste");
  
     btn.setFont( new Font ("Book old Style", 1, 18));
     btn.setBorder(BorderFactory.createLineBorder(new Color(0,0,0)));
     btn.setHorizontalTextPosition(SwingConstants.CENTER);
     btn.setBounds(90, 262, 130, 40);
     btn.addActionListenet(this);
  
  
     BotaoTeste.add(btn);
  
     add(BotaoTeste);
  //fim do construtor
  
  }

   public void actionPerformed(ActionEvent e) {
     if(e.getSource() == btn) {
     ///o que devo colocar aqui para ir pra outra tela chamada TelaOutra????
     
     }
  }

}[/code]

Se entendi o que você precisa, basta fazer:

setContentPane(new CadChamados());

o setContentPane() e o validate() no componente igual ta la no meu exemplo.

Isso!
Deu certo!
OBrigada…