Hi,
Ich habe mir eine Klasse PanelTicker geschrieben die JPanel erweitert.
Hier soll letztlich ein Lauftext gezeigt werden. Zum testen lass ich ein jedoch ein Oval zeichnen.
Sobald ich das Panel jedoch in einen bereits vorhanden Frame einfüge, funktioniert das ganze irgendwie nicht mehr.
Die Klasse:
Mit folgender main in der selben Klasse wird das Oval ganz normal gezeichnet:
In dem folgenden Fenster passiert allerdings nichts und ich komm einfach nich drauf woran es scheitert.
Der relevante Ausschnitt ohne getter und setter und sowas:
Danke schonmal (=
Grüße,
sMau
Ich habe mir eine Klasse PanelTicker geschrieben die JPanel erweitert.
Hier soll letztlich ein Lauftext gezeigt werden. Zum testen lass ich ein jedoch ein Oval zeichnen.
Sobald ich das Panel jedoch in einen bereits vorhanden Frame einfüge, funktioniert das ganze irgendwie nicht mehr.
Die Klasse:
Java:
public class PanelTicker extends JPanel {
public void paintComponent(Graphics g) {
g.setColor(Color.green);
g.drawOval(10, 10, 20, 20);
}
}
Mit folgender main in der selben Klasse wird das Oval ganz normal gezeichnet:
Java:
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
PanelTicker panel = new PanelTicker();
frame.getContentPane().add(panel);
frame.setSize(300,300);
frame.setVisible(true);
panel.repaint();
}
In dem folgenden Fenster passiert allerdings nichts und ich komm einfach nich drauf woran es scheitert.
Der relevante Ausschnitt ohne getter und setter und sowas:
Java:
public Display() {
this.displayFrame = new JFrame("Viewer");
this.displayPanel = new JPanel();
Display.pictureLabel = new JLabel();
this.displayFrame.setSize(500, 300);
this.displayFrame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
this.displayFrame.setUndecorated(true);
this.displayFrame.setVisible(true);
this.displayFrame.getContentPane().add(this.displayPanel);
this.displayPanel.add(Display.pictureLabel);
this.fullscreen = false;
PanelTicker ticker = new PanelTicker();
displayFrame.getContentPane().add(ticker, BorderLayout.SOUTH);
ticker.repaint();
public static void main(String[] args) {
new Display();
}
}
Danke schonmal (=
Grüße,
sMau
Zuletzt bearbeitet: