[Resolvido] Não consigo mudar cor de JPanel

Oi pessoal, bem eu tô com problema na mudança de cor de um JPanel usando o netbeans. Eu sobreescrevo o método paintComponent, mas não surte efeito e o fundo que aparece é o do JFrame. Aí abaixo o código das classes usadas.

[code]public class Main {

public static void main(String[] args) {
   frame f=new frame();
   f.setSize(300,300);
   f.setVisible(true);
   }
}[/code]

[code]public class frame extends javax.swing.JFrame {

/** Creates new form frame */
public frame() {
    initComponents();
    pane p=new pane();
    setContentPane(p);
}


@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setBackground(new java.awt.Color(255, 51, 51));

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 583, Short.MAX_VALUE)
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 427, Short.MAX_VALUE)
    );

    pack();
}// </editor-fold>

// Variables declaration - do not modify
// End of variables declaration

}[/code]

[code]import java.awt.*;
public class pane extends javax.swing.JPanel {

/** Creates new form pane */
public pane() {
    initComponents();
}
@Override

public void paintComponent(Graphics g){
g.setColor(Color.red);

}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {


    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
    this.setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 400, Short.MAX_VALUE)
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 300, Short.MAX_VALUE)
    );
}// </editor-fold>


// Variables declaration - do not modify
// End of variables declaration

}[/code]

Valeu desde já galera.

Olá,
para somente mudar a cor de um JPanel, vc não precisa sobrescrever paintComponent, pode fazer igual ao que fez no JFrame, utilize o método setBackground(Color).
Se vc quiser sobrescrever paintComponent(), vc tem que desenhar alguma coisa para aparecer, chamando só o método setColor() de Graphics não vai acontecer nada. Vc pode por exemplo desenhar um retângulo:

g.setColor(Color.BLUE);
g.fillRect(0, 0, this.getWidth, this.getHeight);

Eu tinha percebido isso agora a pouco…valeu mesmo cara…valeu mesmo. :smiley: