Bom dia Pessoal…estava estudando um pouco de swing e me deparei com o seguinte problema: Eu tenho um Jmenubar com seus itens e seus subitens, eu gostaria que as telas que eu cirie ficassem dentro desse JFrane onde montei a tela…por isso criei o menuBar e embaixo dele um JPanel pra eu tentar trazer a outra janela pra dentro dela, mas não esta dando certo, vejam só o código:
Código da tela que deveria chamar a segunda tela, reserva.
[code]
public class LocacaoQuadrasGUI2 extends JFrame implements ActionListener {
private static final long serialVersionUID = 1620457395829460729L;
JMenuItem mReservas, mClientes, mQuadras, mProdutos, mServicos, mSair;
private JPanel all;
private ReservasGUI painelReservas;
public LocacaoQuadrasGUI2() {
super("Sistemas Gerenciados de Locação de Quadras");
all = new JPanel ( new GridLayout (1,1));
all.setBackground(new Color(255 , 102, 255));
add(all);
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu menuControles = new JMenu("Controles");
JMenu menuOpcoes = new JMenu("Opções");
mReservas = new JMenuItem("Reservas");
mReservas.setMnemonic('R');
mReservas.addActionListener(this);
mClientes = new JMenuItem("Clientes");
mClientes.setMnemonic('C');
mClientes.addActionListener(this);
mQuadras = new JMenuItem("Quadras");
mQuadras.setMnemonic('Q');
mQuadras.addActionListener(this);
mProdutos = new JMenuItem("Produtos");
mProdutos.setMnemonic('P');
mProdutos.addActionListener(this);
mServicos = new JMenuItem("Serviços");
mServicos.setMnemonic('S');
mServicos.addActionListener(this);
mSair = new JMenuItem("Sair");
mSair.setMnemonic('S');
mSair.addActionListener(this);
menuBar.add(menuControles);
menuBar.add(menuOpcoes);
menuOpcoes.add(mSair);
menuControles.add(mReservas);
menuControles.add(mClientes);
menuControles.add(mQuadras);
menuControles.add(mProdutos);
menuControles.add(mServicos);
//painelReservas.setVisible(false);
//add(painelReservas, BorderLayout.CENTER);
}
@Override
public void actionPerformed(ActionEvent evt) {
if (evt.getSource() == mReservas) {
ReservasGUI rgui = new ReservasGUI();
rgui.setSize(400, 400);
rgui.setVisible(true);
} else if (evt.getSource() == mClientes) {
} else if (evt.getSource() == mQuadras) {
} else if (evt.getSource() == mProdutos) {
} else if (evt.getSource() == mServicos) {
} else if (evt.getSource() == mSair) {
System.exit(0);
}
}
}[/code]
Código da tela reserva
public class ReservasGUI extends JFrame implements ActionListener {
private JPanel jp_teste;
private JPanel jp_cima;
private JPanel jp_labels;
private JPanel jp_observacao;
private JPanel jp_botoes;
private JLabel jl_nome;
private JLabel jl_quadra;
private JLabel jl_data;
private JLabel jl_horario_i;
private JLabel jl_horario_f;
private JLabel jl_observacao;
private JTextField jtf_nome;
private JTextField jtf_quadra;
private JTextField jtf_data;
private JTextField jtf_horario_i;
private JTextField jtf_horario_f;
private JTextArea jta_observacao;
private JButton jb_limpar;
private JButton jb_cadastrar;
private JButton jb_alterar;
private JButton jb_excluir;
private JButton jb_pesquisar;
private JButton jb_listar;
public ReservasGUI() {
setLayout(new BorderLayout());
jp_teste = new JPanel (new GridLayout(3,1));
jp_labels = new JPanel(new GridLayout(6,2));
jp_observacao = new JPanel(new GridLayout(1,1));
jp_botoes = new JPanel(new GridLayout (1,6));
jl_nome = new JLabel("Nome: " , JLabel.LEFT);
jl_quadra = new JLabel("Quadra: " , JLabel.LEFT);
jl_data = new JLabel("Data:" , JLabel.LEFT);
jl_horario_i = new JLabel("Horario de inici : " , JLabel.LEFT);
jl_horario_f = new JLabel("Horario de termin : " , JLabel.LEFT);
jl_observacao = new JLabel("Observação: " , JLabel.LEFT);
jtf_nome = new JTextField(30);
jtf_quadra = new JTextField(2);
jtf_data = new JTextField(30);
jtf_horario_i = new JTextField(30);
jtf_horario_f = new JTextField(30);
jta_observacao = new JTextArea("Digite sua observação aqui" , 2 , 2);
jb_limpar = new JButton("Limpar");
jb_cadastrar = new JButton("Cadastrar");
jb_alterar = new JButton("Alterar");
jb_excluir = new JButton("Excluir");
jb_pesquisar = new JButton("Pesquisar");
jb_listar = new JButton("Listar");
jp_labels.add(jl_nome);
jp_labels.add(jtf_nome);
jp_labels.add(jl_quadra);
jp_labels.add(jtf_quadra);
jp_labels.add(jl_data);
jp_labels.add(jtf_data);
jp_labels.add(jl_horario_i);
jp_labels.add(jtf_horario_i);
jp_labels.add(jl_horario_f);
jp_labels.add(jtf_horario_f);
jp_labels.add(jl_observacao);
jp_botoes.add(jb_limpar);
jp_botoes.add(jb_cadastrar);
jp_botoes.add(jb_alterar);
jp_botoes.add(jb_excluir);
jp_botoes.add(jb_pesquisar);
jp_botoes.add(jb_listar);
jp_observacao.add(jta_observacao);
jb_limpar.addActionListener(this);
jb_cadastrar.addActionListener(this);
jb_alterar.addActionListener(this);
jb_excluir.addActionListener(this);
jb_pesquisar.addActionListener(this);
jb_listar.addActionListener(this);
add(jp_teste);
jp_teste.add(jp_labels , BorderLayout.NORTH);
jp_teste.add(jp_observacao , BorderLayout.CENTER);
jp_teste.add(jp_botoes , BorderLayout.SOUTH);
}
@Override
public void actionPerformed(ActionEvent e) {
}
}
Porem quando eu clico em Reservar acaba abrindo a tela Reservas fora da primeira tela…vocês conseguiriam me ajudar ?
[]'s
Agradeço a todos
[color=blue] [size=18] Edit logo abaixo: [/size][/color]
Galera para não abrir outro tópico estou postando aqui mesmo…estudei e consegui implementar exatamente o que eu queria com o JDesktopPanel e JInternalFrame porem fiquei com uma dúvida: Existe alguma forma de eu conseguir usar um “ctrl+tab” ( que em alguns aplicativos alterna entre as janelas ) dentro do meu aplicativo para “navegar” entre as janelas que deixei aberto ?
[]'s
Agradeço a todos