Hi,
ich mache gerade ein paar erste Schritte mit Java2D. Als erstes Projekt versuche ich eine Art Amaturenbrett mit verschiedenen Tacho Anzeigern darzustellen. Die Tachonadeln der Tachos sind beweglich und können per Drag & Drop verändert werden.
Ich werde den Aufbau hier jetzt erstmal nur beschreiben ohne code abzudrucken.
Das JFrame habe ich folgendermaßen aufgebaut:
Ich habe ein Hauptpanel und mehrere Nebenpanels die per GridLayout auf dem Hauptpanel angeordnet werden.
Für alle Panels habe ich eine extra Klasse nach dem folgenden Schema geschrieben:
Auf dem Hauptpanel habe ich nun das Hintergrundbild gezeichnet und auf den Nebenpanels die Tachos.
Die Nebenpanels habe ich mit setBackground(0,0,0,0) auf Transparent gesetzt.
Wenn ich jetzt für einen der Tachos die repaint() Methode aufrufe verschiebt sich aber leider der Teil des
Hintergrundbildes auf dem das entsprechende Nebenpanel steht.
Ich könnte das Problem beheben indem ich alle Elemente neuzeichne. Dies ist allerdings nicht gerade
ökonomisch und führt auch zu einer üblen Ruckelshow.
Daher habe ich die folgenden Fragen:
1) Warum verschiebt sich das Hintergrundbild und wie kann ich das verhindern?
2) Gibt es einen einfacheren und besseren Weg um ein solches Projekt umzusetzen?
Vielen Dank im voraus
Gruß
Paladin
ich mache gerade ein paar erste Schritte mit Java2D. Als erstes Projekt versuche ich eine Art Amaturenbrett mit verschiedenen Tacho Anzeigern darzustellen. Die Tachonadeln der Tachos sind beweglich und können per Drag & Drop verändert werden.
Ich werde den Aufbau hier jetzt erstmal nur beschreiben ohne code abzudrucken.
Das JFrame habe ich folgendermaßen aufgebaut:
Ich habe ein Hauptpanel und mehrere Nebenpanels die per GridLayout auf dem Hauptpanel angeordnet werden.
Für alle Panels habe ich eine extra Klasse nach dem folgenden Schema geschrieben:
Code:
class Panelname extends JPanel {
public Panelname() {
}
public void paintComponent(Graphics g) {
//Hier male ich die entsprechenden Hintergrundgrafiken in die Panels
}
}
Auf dem Hauptpanel habe ich nun das Hintergrundbild gezeichnet und auf den Nebenpanels die Tachos.
Die Nebenpanels habe ich mit setBackground(0,0,0,0) auf Transparent gesetzt.
Wenn ich jetzt für einen der Tachos die repaint() Methode aufrufe verschiebt sich aber leider der Teil des
Hintergrundbildes auf dem das entsprechende Nebenpanel steht.
Ich könnte das Problem beheben indem ich alle Elemente neuzeichne. Dies ist allerdings nicht gerade
ökonomisch und führt auch zu einer üblen Ruckelshow.
Daher habe ich die folgenden Fragen:
1) Warum verschiebt sich das Hintergrundbild und wie kann ich das verhindern?
2) Gibt es einen einfacheren und besseren Weg um ein solches Projekt umzusetzen?
Vielen Dank im voraus
Gruß
Paladin