Klassen Hintergrundfarbe in JPanel ändert sich nicht

Hallo zusammen,

ich bin eigentlich kein Anfänger mehr, aber ich komme nicht drauf warum in meinem Programm die Hintergrundfarbe des JPanels sich nicht ändert.

Hier mein Code und eine kurze Erläuterung:

Erläuterung: Die Klasse GamePanel soll ein JPanel darstellen welches eine bestimmte Größe hat. Es wird später einer Klasse welche JFrame erweitert hinzugefügt. Sie soll ein Rechteck mit der Farbe weiß zeichnen, was auch funktioniert
Im Konstruktor der Klasse GamePanel wird die Hintergrundfarbe auf schwarz gesetzt, was leider nicht funktioniert.


public class GamePanel extends JPanel implements Runnable{

final int originalTileSize = 16; //16x16 tiles
final int scale = 3;

final int tileSize = originalTileSize * scale;

final int maxScreenColumn = 24;
final int maxScreenRow = 20;
final int screenWidth = tileSize * maxScreenColumn;
final int screenHeight = tileSize * maxScreenRow;

JButton button;

Thread thread;

private static final long serialVersionUID = 1L;


/** Konstruktor **/
public GamePanel() {


this.setLayout(null);
this.setPreferredSize(new Dimension(screenWidth,screenHeight));
this.setDoubleBuffered(true); //for better rendering performance
this.setOpaque(true);
this.setBackground(Color.black);

}

/**
* Starts timing via a thread
*/
public void startGame() {

thread = new Thread(this);
thread.start(); // Will call run method

}



@Override
public void run() {

while(thread != null) {

System.out.println(System.currentTimeMillis());

}

}



/** Will be called with repaint() **/
public void paintComponent(Graphics g) {

super.paintComponents(g);

Graphics2D g2d = (Graphics2D) g;

g2d.setColor(Color.white);

g2d.fillRect(50, 50, tileSize, tileSize);

g2d.dispose();

}

}


-------------------------------------------------------------------------------------------------------------------------------


Hier die Klasse GameWindow welche das Fenster repräsentiert und wo das JPanel hinzugefügt wird. Das Fenster das ich dann dargestellt bekomme seht ihr im Anhang.


public class GameWindow extends JFrame implements ActionListener {

private static final long serialVersionUID = 1L;



/**
* Constructor
*/
public GameWindow() {


this.setTitle("FirstGame");

GamePanel panel = new GamePanel();
panel.startGame();

this.add(panel);

this.pack();
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setVisible(true);


}




@Override
public void actionPerformed(ActionEvent e) {


}


}





JETZT DIE GROSSE FRAGE: Warum wird mein JPanel nicht schwarz angezeigt mit dem weißen Rechteck oben drauf ?
Wenn ich vom GameWindow die Hintergrundfarbe auf schwarz ändere, ist der Fensterhintergrund auch schwarz aber so will ich das eigentlich nicht.

Vielen Dank vorab schonmal für eure Hilfe
 

Anhänge

  • Ausgabe.jpg
    Ausgabe.jpg
    24,1 KB · Aufrufe: 0

KonradN

Super-Moderator
Mitarbeiter
Du rufst in paintComponent die Methode paintComponents auf. Da musst du natürlich auch paintComponent aufrufen.

Ansonsten noch zwei Hinweise:
a) Code bitte immer in Code Tags posten. Dazu einfach den Knopf </> links oberhalb des Eingabebereiches nutzen.
b) Man schließt keine Dinge, die einem nicht gehören. Du bekommst eine Graphics Instanz als Parameter - das ist dann wie eine "Leihgabe" - die entsorgt man nicht sondern gibt sie am Ende sozusagen funktionsfähig wieder zurück.
 
Oh man ...und ich rätsle noch wo der Fehler liegt. Lustigerweise gibt es auch noch diese Methode paintComponents(Graphic g).
Danke für die Hilfe und die zwei Hinweise. War mein erster Post hier in dem Forum. Zukünftig dann Code mit </>
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B JPanel ändert die Hintergrundfarbe nicht Java Basics - Anfänger-Themen 2
U JPanel und Hintergrundfarbe Java Basics - Anfänger-Themen 5
H JavaFX Hintergrundfarbe ändern, warten, Hintergrundfarbe wieder ändern Java Basics - Anfänger-Themen 34
M TableModel Hintergrundfarbe Java Basics - Anfänger-Themen 6
P Hintergrundfarbe aus drei Scrollbars Java Basics - Anfänger-Themen 5
B Die Hintergrundfarbe eines deaktivierten buttons ändern? Java Basics - Anfänger-Themen 4
I Netbeans - jTabbedPane Hintergrundfarbe ändern Java Basics - Anfänger-Themen 13
C Panel Hintergrundfarbe per AdjustmenListenmer ändern Java Basics - Anfänger-Themen 4
P DefaultTreeCellRenderer Hintergrundfarbe Java Basics - Anfänger-Themen 3
I Hintergrundfarbe einer Zelle in einer JTable Java Basics - Anfänger-Themen 10
B Hintergrundfarbe laufend verändern Java Basics - Anfänger-Themen 14
P Hintergrundfarbe einer anderen Klasse ändern Java Basics - Anfänger-Themen 7
C Hintergrundfarbe Java Basics - Anfänger-Themen 7
S Hintergrundfarbe lässt sich nicht ändern Java Basics - Anfänger-Themen 3
S Hintergrundfarbe lässt sich nicht ändern Java Basics - Anfänger-Themen 2
B JTable und Hintergrundfarbe Java Basics - Anfänger-Themen 5
G Transparente Hintergrundfarbe eines Applets Java Basics - Anfänger-Themen 8
J Hintergrundfarbe für Textfelder Java Basics - Anfänger-Themen 4
G Hintergrundfarbe eines JLabels Java Basics - Anfänger-Themen 3
K Hintergrundfarbe einer Tabellen-Zelle verändern Java Basics - Anfänger-Themen 2
richis-fragen Optisch JPanel BorderLayout vertikaler Rand dicker als horizontaler Rand Java Basics - Anfänger-Themen 4
J JSON mit einem JPanel Java Basics - Anfänger-Themen 3
J Ein mit UI-Designer erstelltes JPanel einblenden Java Basics - Anfänger-Themen 0
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
C mehrere JPanel in ein JFrame bringen Java Basics - Anfänger-Themen 9
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
B Scrollbares Fenster (JScrollPane) mit JPanel scrollt nicht Java Basics - Anfänger-Themen 3
Zeppi JPanel responsive Grid Java Basics - Anfänger-Themen 0
J JPanel in JScrollPanel Java Basics - Anfänger-Themen 4
Elyt JPanel als HintergrundBild Java Basics - Anfänger-Themen 7
W 2 JPanel in einem JFrame Java Basics - Anfänger-Themen 4
B Wie kann man an ein JPanel eine Scrollbar anheften? Java Basics - Anfänger-Themen 8
O Swing JPanel Java Basics - Anfänger-Themen 4
CptK Klassen JPanel nach Ablauf der Spielzeit neuladen Java Basics - Anfänger-Themen 2
S JPanel wird nicht angezeigt Java Basics - Anfänger-Themen 1
D Animation JPanel Java Basics - Anfänger-Themen 1
M JLabels "verrutschen" beim übergeben von JPanel Java Basics - Anfänger-Themen 2
D Auf angeklicktes JPanel zugreifen Java Basics - Anfänger-Themen 5
D JPanel mehrere Formen zeichnen Java Basics - Anfänger-Themen 5
D JPanel passt die Größe nicht an Java Basics - Anfänger-Themen 22
Y Webinhalt JPanel Java Basics - Anfänger-Themen 6
D Erste Schritte JPanel verschiebt Fenster via setVisible Java Basics - Anfänger-Themen 5
Dechasa Interface JFrame mit mehreren Übereinander liegenden JPanel Java Basics - Anfänger-Themen 5
S JPanel variablenabhängig erstellen Java Basics - Anfänger-Themen 13
J Methoden Dinge auf einem JPanel paltzieren Java Basics - Anfänger-Themen 1
Z JPanel wird zweimal hinterinander gezeichnet.. Wieso? Java Basics - Anfänger-Themen 4
F JFrame resize verschiebt JPanel Java Basics - Anfänger-Themen 3
A altes JPanel entfernen und neues öffnen Java Basics - Anfänger-Themen 5
I A0-Format in jpanel anzeigen Java Basics - Anfänger-Themen 1
R NullPointerException wegen JPanel oder doch nicht ? Java Basics - Anfänger-Themen 7
J Probleme mit eigenem JPanel (IDE Eclipse) Java Basics - Anfänger-Themen 4
S JPanel wird versetzt auf JFrame gelegt Java Basics - Anfänger-Themen 2
V jab ich eclipse verrückt gemacht :D ? array Jpanel, Jlabel Grafik Fehler / Frage Java Basics - Anfänger-Themen 5
R Focus auf JPanel im Thread Java Basics - Anfänger-Themen 9
I Problem mit JPanel Java Basics - Anfänger-Themen 0
F Threads funktionieren auf JPanel nicht Java Basics - Anfänger-Themen 1
C JPanel in MessageDialog Java Basics - Anfänger-Themen 1
B JPanel/JFrame in ein Applet umwandeln (Webfähig) Java Basics - Anfänger-Themen 7
S Inhalt von JPanel erst nach Resize sichtbar Java Basics - Anfänger-Themen 2
M Listener einerm JPanel hinzufuegen Java Basics - Anfänger-Themen 3
gamebreiti Methoden JPanel nach clearAll() und add neu zeichnen Java Basics - Anfänger-Themen 1
S vom JPanel aus durch Mouselistener Internet aufrufen Java Basics - Anfänger-Themen 6
Z JPanel bleibt leer Java Basics - Anfänger-Themen 2
E Bild per Verzeichnis/JFileChooser auf JPanel laden Java Basics - Anfänger-Themen 13
Q JPanel Java Basics - Anfänger-Themen 2
K Erste Schritte jpanel in einer klasse auslagern Java Basics - Anfänger-Themen 3
I Anfängerfrage JPanel repaint() Java Basics - Anfänger-Themen 6
N String auf JPanel bewegen Java Basics - Anfänger-Themen 6
K Erste Schritte Jframe Im Jpanel Java Basics - Anfänger-Themen 4
S Layout mit JPanel in JScrollPanel funktioniert nicht Java Basics - Anfänger-Themen 3
S JPanel drucken -> PrinterException Java Basics - Anfänger-Themen 2
B JPanel -JTable Java Basics - Anfänger-Themen 2
H JPanel Hintergrund transparent setzen? Java Basics - Anfänger-Themen 10
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
L zoomen aus jpanel Java Basics - Anfänger-Themen 7
P Bekomme in meinen JPanel nur eine JComponente angezeigt Java Basics - Anfänger-Themen 7
A Methoden repaint() zeichnet JPanel falsch Java Basics - Anfänger-Themen 3
R JFrame über einen JPanel Java Basics - Anfänger-Themen 5
I Veränderungen am JPanel vom JDialog aus Java Basics - Anfänger-Themen 6
F JPanel zu klein Java Basics - Anfänger-Themen 5
D GUI - Objekte in JPanel nach oben schieben Java Basics - Anfänger-Themen 2
S JPanel wird nicht eingefügt Java Basics - Anfänger-Themen 3
P Netbeans Platform - JLabel und JPanel setLocation Problem Java Basics - Anfänger-Themen 2
Kenan89 JPanel mit JTable Java Basics - Anfänger-Themen 9
I JPanel in JPanel Java Basics - Anfänger-Themen 2
A Zugriff auf Komponente innerhalb einer JPanel Java Basics - Anfänger-Themen 8
J Auf einem JPanel ein JFrame platzieren Java Basics - Anfänger-Themen 10
S JPanel anzeige Java Basics - Anfänger-Themen 2
propra Wie mache ich einem JPanel mein bereits instanziertes Model bekannt Java Basics - Anfänger-Themen 9
T Zugreifen auf JPanel Java Basics - Anfänger-Themen 4
K JPanel auslagern Java Basics - Anfänger-Themen 9
J Paint Methode von JPanel aufrufen Java Basics - Anfänger-Themen 15
T Tastendruck simulieren in JPanel Java Basics - Anfänger-Themen 3
P JPanel in JTable einfügen Java Basics - Anfänger-Themen 23
E Erste Schritte Objekte werden in JPanel angedockt und maximiert Java Basics - Anfänger-Themen 7
M Componenten auf JPanel anzeigen Java Basics - Anfänger-Themen 2
F JPanel als JPG - weisse Fläche Java Basics - Anfänger-Themen 9
L Image laden und auf jPanel ausgeben Java Basics - Anfänger-Themen 7
M JLabel auf JPanel positionieren Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben