Seqüência de telas em Java, dentro do mesmo JFrame não existe?

Olá turma, bom dia. Minha pergunta de hoje é simples e rápida: Não é possível fazer dentro de um mesmo JFrame uma seqüência de telas (JPanel’s que vão sendo trocados) com botões de navegação “voltar e avançar” para poder navegar entre as telas, não é verdade? O correto é cada tela abrir em um JFrame individual e conforme a tela seguinte não servir mais, ela simplesmente deve abrir uma nova tela com novo JFrame ou então fechar o JFrame atual e exibir o que estava anteriormente, estou certa?

Obrigada!! Aguardo respostas…
Bom dia a todos, bom trabalho :smiley:

Errado.

Pesquise sobre CardLayout. É exatamente o que você precisa.

Nao entendi muito bem o q vc precisa…Mas existe alguns tipos de telas como JFrame/JDialog/JInternalFrame etc. O JPanel é um container q possui a propriedade de armazenar componentes como JLabel, JText, JCombo etc…
Sobre navegar entre registros, como o de banco de dados por exemplo, vc pode usar metodos do proprio ResultSet como next(); last(); etc… !

Não entendi muito bem sua duvida, entaum explique-se melhor.

t+ e boa sorte.

Oi meninos, obrigada pela resposta. Realmente não me expressei bem e acabei causando uma interpretação diferente do problema.

Imaginem assim: O método main() instancia um JFrame e em seguida instancia uma classe cujo um dos métodos retorna um JPanel.

public static void main(String args[]) {
   JFrame janela = new JFrame(new FlowLayout());
   ConteudoPainel cp = new ConteudoPainel();
   container.add(cp.mostraPainel());
}

Até aí, ok. Vai exibir a JFrame com o painel dentro. Só que em determinado momento, o usuário vai clicar em um botão “avançar” onde esse painel vai sumir do JFrame e dar lugar a um próximo. Seria isso. Só que isso é impossível! :roll:

Obrigada pela ajuda!! Aguardo pelas respostas…

O que vc precisa não é o que o JhowTroMundo citou? CardLayout…

:wink:

é uma sequência de panels

Evandro

Dá uma olhada se é isso que vc esta tentando fazer…

[code]public class CardLayoutDemo extends Frame implements ActionListener{

private Panel cards;   
private Button bPrim, bAnt, bProx, bUlt;   

public CardLayoutDemo(){   

    super("CardLayoutDemo Demo");   

    setSize(300,200);   

    Panel p1 = new Panel();   
    p1.setBackground(SystemColor.control);   

    Panel p2 = new Panel();   
    p2.setBackground(SystemColor.control);   
    p2.setLayout(new GridLayout(4, 1, 5, 5));   

    p2.add(bPrim = new Button("Primeiro"));   
    bPrim.addActionListener(this);   

    p2.add(bAnt = new Button("Anterior"));   
    bAnt.addActionListener(this);   

    p2.add(bProx = new Button("Próximo"));   
    bProx.addActionListener(this);   

    p2.add(bUlt = new Button("Último"));   
    bUlt.addActionListener(this);   

    p1.add(p2);   
    add("East", p1);   

    cards = new Panel();   
    cards.setLayout(new CardLayout());   
    cards.add(new Label("Primeiro Painel"), "C1");   
    cards.add(new TextArea(), "C3");   

    p2 = new Panel();   
    p2.setBackground(SystemColor.control);   
    p2.add(new Label("Quarto Painel"));   
    cards.add(p2, "C4");   

    p2 = new Panel();   
    p2.setBackground(Color.lightGray);   
    cards.add(p2, "C5");   

    add("Center", cards);   

}   

public void actionPerformed(ActionEvent e){   

    CardLayout c1 = ((CardLayout)cards.getLayout());   

    if( e.getSource() == bPrim )   
        c1.first(cards);   
    else   
        if( e.getSource() == bAnt )   
            c1.previous(cards);   
        else   
            if( e.getSource() == bProx )   
                c1.next(cards);   
            else   
                c1.last(cards);   

}   

public static void main(String args[]){   

    CardLayoutDemo f = new CardLayoutDemo();   

   f.show();   

}   

} [/code]

Olá meninos, obrigada. É praticamente isso mesmo :smiley:

Obrigada, até +