Como chamar um Frame dentro de outro Frame?

2 respostas
Leandro_M

olá
fiz algumas buscas e não econtrie o que procuro.
gostaria de saber se alguém pode me ajudar
preciso fazer com que TABELA MERCADORIA abra dentro da TABELA PESSOA (exemplo hipotetíco), ou seja, cada vez que o botão for pressionado o Frame muda de forma.

estou mandando dois código os quais estou usando e quebrando a cabeça para tentar resolver essa minha dúvida

*não entendo muito de GUI's, se puder me explicar eu ficarei muito agradecido.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class TelaPessoa extends JFrame implements ActionListener {

    private JButton Botao;

    public TelaPessoa() {
        
        this.setTitle("PESSOA");
        this.setBounds(390,80,500,300);
        this.setSize(600,400);
        
        Container cp = getContentPane();
        cp.setLayout(null);
        cp.setBackground( new Color(0,1,1) );
        
        Botao = new JButton("Botao");
        Botao.setBorder(BorderFactory.createBevelBorder(0,Color.BLUE,Color.BLUE));
        Botao.setBackground(Color.WHITE);
        cp.add(Botao);
        Botao.setBounds(45,118,80,30);
        Botao.addActionListener(this);
    }

	public void actionPerformed(ActionEvent e) {
          
          TelaMercadoria mercadoria = new TelaMercadoria();
           
        if(e.getSource() == Botao){
        	mercadoria.show();
        }
    }
	
    public static void main(String args[]) {

        TelaPessoa app = new TelaPessoa(); 
        app.show();

    }

}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class TelaMercadoria extends JFrame implements ActionListener {

    private JButton BotaoII;
	
    public TelaMercadoria() {
        
        this.setTitle("MERCADORIA");
        this.setBounds(35,250,500,300);
        this.setSize(500,350);
        
        Container cp = getContentPane();
        cp.setLayout(null);
        cp.setBackground( new Color(0,94,142) );

        BotaoII = new JButton("BotaoII");
        BotaoII.setBorder(BorderFactory.createBevelBorder(0,Color.BLUE,Color.BLUE));
        BotaoII.setBackground(Color.WHITE);
        cp.add(BotaoII);
        BotaoII.setBounds(45,118,80,30);
        BotaoII.addActionListener(this);
    }
    
    public void actionPerformed(ActionEvent e) {
		
        if(e.getSource() == BotaoII){
        TelaPessoa pessoa = new TelaPessoa();
         pessoa.show();
        }
}

valeu
agraço desde já

2 Respostas

M

você procura sobre internalframe tipo a janela que vc deseja que seja aberta dentro da janela pai deve extender internaljframe

Andre_Brito

Opa cara, beleza?

Se ele vai ficar dentro do JFrame eu acredito que deva ser usada a classe JInternalFrame. http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JInternalFrame.html

Só uma coisa cara, bem de bobo eu mesmo… mas não vi nenhum super() na sua classe… Isso está correto?

Abraço!

Criado 22 de dezembro de 2007
Ultima resposta 22 de dez. de 2007
Respostas 2
Participantes 3