web-dev-qa-db-fra.com

Définition de la couleur d'arrière-plan pour JFrame

Comment définir une couleur de fond pour un JFrame?

43
Raji

Récupérez le volet de contenu du cadre et utilisez la méthode setBackground () héritée de Component pour modifier la couleur.

Exemple:

myJFrame.getContentPane().setBackground( desiredColor );
60
Brandon E Taylor

Pour définir la couleur d’arrière-plan de JFrame:

getContentPane().setBackground(Color.YELLOW);  //Whatever color
31
iwanttoprogram

en utilisant:

setBackground(Color.red);

ne fonctionne pas correctement.

utilisation

Container c = JFrame.getContentPane();

c.setBackground(Color.red);

ou

myJFrame.getContentPane().setBackground( Color.red );
10
darx

C'est la méthode la plus simple et la plus correcte. Tout ce que vous avez à faire est d'ajouter ce code après initComponents ();

getContentPane().setBackground(new Java.awt.Color(204, 166, 166));

C’est un exemple de couleur RVB que vous pouvez remplacer par la couleur de votre choix. Si vous ne connaissez pas les codes de couleurs RVB, effectuez une recherche sur Internet. De nombreux sites proposent des couleurs personnalisées de ce type.

5
Cristian Babarusi

Pour définir la couleur de fond du JFrame, essayez ceci:

this.getContentPane().setBackground(Color.white);

La source:

QualixInfotech. "Changer la couleur de fond dans JFrame - Tutoriel Netbeans." YouTube, YouTube, 5 octobre 2013, www.youtube.com/watch?v=IRYSm0O8MyF .

3
Mr. J

Bonjour, j’ai eu le même problème et après plusieurs tentatives, j’ai trouvé que le problème est qu’il vous faut un objet graphique pour pouvoir dessiner, Paint (setBackgroundColor).

Mon code va généralement comme ceci:

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 partie manquante sur presque toutes les autres réponses est où placer le code . Alors maintenant vous savez qu'il va dansPaint (Graphics G)

2
T04435

Vous pouvez utiliser un conteneur comme ceci:

Container c = JFrame.getContentPane();
c.setBackground(Color.red); 

Vous devez bien sûr importer Java.awt.Color pour la constante rouge couleur.

2
John T

Voici une autre méthode:

private void RenkMouseClicked(Java.awt.event.MouseEvent evt) {
    renk = JColorChooser.showDialog(null, "Select the background color",
            renk);
    Container a = this.getContentPane();
    a.setBackground(renk);
}

J'utilise netbeans ide. Pour moi, JFrame.getContentPane() n'a pas fonctionné. J'ai utilisé l'équivalent de classe de JFrame.getContentPane()this.getContentPane.

2
Abdullah
public nameOfTheClass()  {

final Container c = this.getContentPane();

  public void actionPerformed(ActionEvent e) {
    c.setBackground(Color.white); 
  }
}
0
Learning

vous pouvez remplacer la méthode Paint de JFrame, puis la remplir avec votre couleur préférée comme ceci:

@Override
public void Paint(Graphics g) {
    g.setColor(Color.red);
    g.fillRect(0, 0, this.getWidth(), this.getHeight());
}
0
Mahdi Hasanpour