Come impostare un colore di sfondo per un JFrame?
Recupera il riquadro del contenuto per il frame e usa il metodo setBackground () ereditato da Component per cambiare il colore.
Esempio:
myJFrame.getContentPane().setBackground( desiredColor );
Per impostare il colore di sfondo per JFrame:
getContentPane().setBackground(Color.YELLOW); //Whatever color
utilizzando:
setBackground(Color.red);
non funziona correttamente
uso
Container c = JFrame.getContentPane(); c.setBackground(Color.red);
o
myJFrame.getContentPane().setBackground( Color.red );
Questo è il metodo più semplice e corretto. Tutto quello che devi fare è aggiungere questo codice dopo initComponents ();
getContentPane().setBackground(new java.awt.Color(204, 166, 166));
Questo è un esempio di colore RGB, è ansible sostituirlo con il colore desiderato. Se non conosci i codici dei colors RGB, cerca su internet … ci sono molti siti che forniscono colors personalizzati come questo.
Ciao Lì ho avuto lo stesso problema e dopo molti tentativi ho scoperto che il problema è che hai bisogno di un object grafico per poter disegnare, dipingere (setBackgroundColor).
Il mio codice di solito va così:
import javax.swing.*; import java.awt.*; public class DrawGraphics extends JFrame{ public DrawGraphics(String title) throws HeadlessException { super(title); InitialElements(); } private void InitialElements(){ setSize(300, 250); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); // This one does not work // getContentPane().setBackground(new Color(70, 80, 70)); } public void paint(Graphics draw){ //Here you can perform any drawing like an oval... draw.fillOval(40, 40, 60, 50); getContentPane().setBackground(new Color(70,80,70)); } }
La parte mancante su quasi tutte le altre risposte è dove posizionare il codice. Allora ora sai che va in vernice (Grafica G)
Puoi usare un contenitore come questo:
Container c = JFrame.getContentPane(); c.setBackground(Color.red);
Devi ovviamente importare java.awt.Color
per la costante di colore rosso .
Ecco un altro metodo:
private void RenkMouseClicked(java.awt.event.MouseEvent evt) { renk = JColorChooser.showDialog(null, "Select the background color", renk); Container a = this.getContentPane(); a.setBackground(renk); }
Sto usando ide netbeans. Per me, JFrame.getContentPane()
non è stato eseguito. Ho usato JFrame.getContentPane()
equivalente alla class this.getContentPane
.
Per impostare il colore di sfondo per JFrame prova questo:
this.getContentPane().setBackground(Color.white);
Fonte:
QualixInfotech. “Cambia colore di sfondo in JFrame – Esercitazione Netbeans.” YouTube, YouTube, 5 ottobre 2013, http://www.youtube.com/watch?v=IRYSm0O8MyE .
puoi sovrascrivere il metodo paint di JFrame e quindi riempirlo con il tuo colore preferito in questo modo:
@Override public void paint(Graphics g) { g.setColor(Color.red); g.fillRect(0, 0, this.getWidth(), this.getHeight()); }
public nameOfTheClass() { final Container c = this.getContentPane(); public void actionPerformsd(ActionEvent e) { c.setBackground(Color.white); } }
Resuscitare un thread dalla stasi.
Nel 2018 questa soluzione funziona per Swing / JFrame in NetBeans (dovrebbe funzionare in qualsiasi IDE :):
this.getContentPane().setBackground(Color.GREEN);
Fonte:
QualixInfotech. “Cambia colore di sfondo in JFrame – Tutorial Netbeans.” YouTube, YouTube, 5 ottobre 2013, http://www.youtube.com/watch?v=IRYSm0O8MyE .
import java.awt.*; import javax.swing.*; public class MySimpleLayout extends JFrame { private Container c; public MySimpleLayout(String str) { super(str); c=getContentPane(); c.setLayout(null); c.setBackground(Color.WHITE); } }
Crea una JLabel, ridimensionala in modo che copra il tuo JFrame. Fare clic con il tasto destro su JLabel, Trova icona e fare clic sul pulsante (…). Scegli un’immagine facendo clic sul pulsante Importa su progetto, quindi fai clic su Fine. Nel pannello Navigator, (in basso a sinistra per impostazione predefinita, se disabilitato, vai alla scheda Windows del tuo IDE Netbeans e abilitalo.)
usando Jlable puoi anche impostare il colore di sfondo e anche l’immagine.
frame.getContentPane().setBackground(Color.white);
Probabilmente il metodo SIMPLEST è questo:
super.setBackground(Color.CYAN);
Devi estendere JFrame nella class prima di fare questo!