JPanel ändert die Hintergrundfarbe nicht

Basti90

Mitglied
Hallo zusammen,

Ich möchte die Hintergrundfarbe meines JPanels auf weiß setzen.
Wie ich bei gefühlt 100 Treffern gelesen habe muss man 2 Sachen machen
setOpaque(true) und setBackground(Color.white)

leider hatte es keinen effekt - muss man noch etwas bei dem JFrame dass das panel benutzt ändern (dort wird ein BorderLayout verwendet)
oder warum ändert sich die farbe nicht bei mir :bahnhof:
schon mal vielen dank für die Hilfreichen Tipps.
 
Java:
import java.awt.Color;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;


public class Main {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFrame f = new JFrame();
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                JPanel testPanel = new JPanel();
                testPanel.setBackground(Color.WHITE);
                testPanel.setPreferredSize(new Dimension(200,200));
                f.getContentPane().add(testPanel);
                f.pack();
                f.setVisible(true);
            }
        });
    }
}

so schwer ist es eigentlich nicht. Zeig mal deinen Code
 
Der Code hat mehr als 500 Zeilen - ich weiß nicht ob es sinnvoll ist das alles zu posten
ich Zeig mal nen kurzen ausschnitt aus dem JPanel - aber im wesentlichen hab ich das gemacht was was du geschrieben hattest...
Java:
public Seitenleiste() {
setBorder(new LineBorder(new Color(0, 0, 0)));
		
		setOpaque(true);
		setBackground(Color.white);
		

		
		
		GridBagLayout gridBagLayout = new GridBagLayout();
		gridBagLayout.columnWidths = new int[]{300, 0};
		gridBagLayout.rowHeights = new int[]{54, 54, 54, 54, 54, 41, 54, 41, 54, 54, 54, 41, 54, 54, 54};
		gridBagLayout.columnWeights = new double[]{1.0, Double.MIN_VALUE};
		gridBagLayout.rowWeights = new double[]{1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, Double.MIN_VALUE};
		setLayout(gridBagLayout);
		but_einst = new KOMDIA_Button("New button");
		but_einst.setBackground(Color.ORANGE);
		GridBagConstraints gbc_but_einst = new GridBagConstraints();
		gbc_but_einst.fill = GridBagConstraints.BOTH;
		gbc_but_einst.insets = new Insets(0, 0, 5, 0);
		gbc_but_einst.gridx = 0;
		gbc_but_einst.gridy = 0;
		add(but_einst, gbc_but_einst);
//... Es folgen noch etliche weiter Buttons etc

dazu dann das Frame:
Java:
Dimension dim=  = Toolkit.getDefaultToolkit().getScreenSize();
JFrame frame= new JFrame()
frame.setLayout(new BorderLayout());
Seitenleiste seitenleiste= new Seitenleiste();
setPreferferredSize(new Dimension (200,700));
frame.add(seitenleiste,Borderlayout.EAST

//...weitere JPanel in anderen bereichen des Borderlayouts

//je nach dem ob vollbild oder nicht 
if(vollbild){
			frame.setUndecorated(true);
		    frame.getContentPane().setPreferredSize(   Toolkit.getDefaultToolkit().getScreenSize());
		    frame.pack();
		}
		else{
			frame.setSize(800, 800);
			frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			
		}
frame.setVisible(true);
frame.setLocation(dim.width/2-frame.getSize().width/2, dim.height/2-frame.getSize().height/2);
 

Neue Themen


Zurück
Oben