Oi denovo gente, na gigantesca classe abaixo (desculpa, é que achei que ver a classe toda seria mais esclarecedor…), porque colocar “f.getContentPane().add(pl)” (linha 81), ao invés de só “f.add(pl)” ?
Muito obrigada gente, vcs tem ajudado muito
package exemplos;
import javax.swing.*;
import java.awt.event.*;
public class Frm05 implements ActionListener, KeyListener {
JFrame f = new JFrame();
JPanel pl = new JPanel();
JLabel lblIdCategoria = new JLabel("Código:");
JTextField txtIdCategoria = new JTextField("");
JLabel lblCategoria = new JLabel("Categoria");
JTextField txtCategoria = new JTextField("");
JButton cmdAlterar = new JButton("Alterar");
JButton cmdIncluir = new JButton("Incluir");
JButton cmdExcluir = new JButton("Excluir");
JLabel lblStatus = new JLabel("Status:");
//Adicionando menus:
JMenuBar mnuBarra = new JMenuBar();
JMenu mnuArquivo = new JMenu("Arquivo");
JMenu mnuEditar = new JMenu("Editar");
JMenuItem mnuSair = new JMenuItem ("Sair");
JMenuItem mnuAlterar = new JMenuItem ("Alterar");
JMenuItem mnuExcluir = new JMenuItem ("Excluir");
JMenuItem mnuIncluir = new JMenuItem ("Incluir");
JMenuItem mnuBuscar = new JMenuItem ("Buscar");
void criarTela(){
//Configurações da tela:
f.setSize(300, 185);
f.setLocation(150, 200);
f.setTitle("Cadastro de categorias");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pl.setLayout(null);
//Posição dos objetos na tela:
lblIdCategoria.setBounds(10, 10, 60, 20); // (x, y, width, height)
txtIdCategoria.setBounds(100, 10, 60, 20);
lblCategoria.setBounds(10, 40, 60, 20);
txtCategoria.setBounds(100, 40, 170, 20);
cmdAlterar.setBounds(10, 70, 80, 20);
cmdIncluir.setBounds(100, 70, 80, 20);
cmdExcluir.setBounds(190, 70, 80, 20);
lblStatus.setBounds(10, 100, 180, 20);
//Adicionando manipuladores de eventos:
cmdAlterar.addActionListener(this);
cmdIncluir.addActionListener(this);
cmdExcluir.addActionListener(this);
txtIdCategoria.addKeyListener(this);
//Adicionando os objetos ao painel:
pl.add(lblIdCategoria);
pl.add(txtIdCategoria);
pl.add(lblCategoria);
pl.add(txtCategoria);
pl.add(cmdAlterar);
pl.add(cmdIncluir);
pl.add(cmdExcluir);
pl.add(lblStatus);
//Menus
mnuBarra.add(mnuArquivo);
mnuBarra.add(mnuEditar);
mnuArquivo.add(mnuSair);
mnuEditar.add(mnuAlterar);
mnuEditar.add(mnuIncluir);
mnuEditar.add(mnuExcluir);
mnuEditar.add(new JSeparator());
mnuEditar.add(mnuBuscar);
mnuSair.addActionListener(this);
mnuAlterar.addActionListener(this);
mnuIncluir.addActionListener(this);
mnuExcluir.addActionListener(this);
mnuBuscar.addActionListener(this);
f.setJMenuBar(mnuBarra);
//Adicionando o painel ao formulário
f.getContentPane().add(pl);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e){
Object o = e.getSource();
if((o == cmdAlterar) || (o == mnuAlterar)){
alterar();
}
if((o == cmdIncluir) || (o == mnuIncluir)){
incluir();
}
if((o == cmdExcluir) || (o == mnuExcluir)){
excluir();
}
if(o == mnuBuscar){
buscar();
}
if(o == mnuSair){
txtCategoria.setText("Menu sair");
System.exit(0);
}
}
void alterar(){
lblStatus.setText("Alterar");
}
void incluir(){
lblStatus.setText("Incluir");
}
void excluir(){
lblStatus.setText("Excluir");
}
void buscar(){
lblStatus.setText("Buscar");
}
public void keyTyped(KeyEvent e){
char tecla = e.getKeyChar();
lblStatus.setText("Tecla: " + tecla);
}
public void keyPressed(KeyEvent e){
int tecla = e.getKeyCode();
if(tecla == KeyEvent.VK_F10){
JOptionPane.showMessageDialog(f, "Tecla F10 pressionada");
}
}
public void keyReleased(KeyEvent e){
}
}