repaint bei JPanel erzwingen

Status
Nicht offen für weitere Antworten.

Nicole81

Aktives Mitglied
Hallo,

ich hatte ursprünglich eine Klasse von Canvas abgeleitet, auf das ich kurven usw zeichnen konnte. Dazu hatte ich die paint Methode überschrieben. Weiterhin kann ich eine Animation anstarten, wobei das Canvas alle 20ms neugezeichnet wird, also repaint() in einem Timer (Timer ist im Canvas) aufgerufen wird.

Jetzt hab ich Scrollbars benötigt und dachte ich leite meine Klasse nicht von Canvas ab, sondern von JPanel und dieses setze ich auf ein Scrollpane. Sollte ja kompatibel sein dachte ich. Funktioniert auch alles, nur ein Panel scheint so schlau zu sein, ein neuzeichnen nur auszuführen, wenn es sichtbar ist. Das Ding soll sich aber unbedingt neuzeichnen auch wenn es versteckt (iconified oder invisible) ist.

Wie könnte man das machen?

Habe schon validate, revalidate, invalidate, updateUI... aufgerufen, nichts tut sich :-(

das hab ich auch schon eingebaut, ka ob das nötig ist:
Code:
	public void paintComponent(Graphics g) 
	{ 
		super.paintComponent(g); 
		paint(g);
	}

Hab auch schon von der Scrollpaine repaint(), invalidate, validate aufgerufen, tut sich auch nichts.

Gruß
 

Der Müde Joe

Top Contributor
Nicole81 hat gesagt.:
Funktioniert auch alles, nur ein Panel scheint so schlau zu sein, ein neuzeichnen nur auszuführen, wenn es sichtbar ist. Das Ding soll sich aber unbedingt neuzeichnen auch wenn es versteckt (iconified oder invisible) ist.

Wieso? Ein Neuzeichenen macht nur Sinn, wenn man es auch sieht. Warum soll ein verstecktes JPanel sich selber neu malen, wenn es doch nicht sichtbar ist?
 

Nicole81

Aktives Mitglied
Weil ich es eben benötige :)

Da läuft eine Animation ab, die ich in einem Preview Fesnter verkleinert anzeigen möchte. Und in der Paint Methode erstellt er mir ein Inage welches ich dafür nutze. Also kein repaint() vom Panel, keine aktualisierung meines Vorschaufensters.
 

Der Müde Joe

Top Contributor
Die Daten, welche für das Zeichnen des Originals vorhanden sind, könntest du doch einfach benutzen, um die Preview zu erstellen. Die repaint der Preview erledigt dann alles was sie muss, also die Preview erstellen, während das Original schläft.
 

Nicole81

Aktives Mitglied
Nein das geht leider nicht so einfach, da die Daten des Original auf die eingestellte Pixelgrösse des originals abgestimmt sind.

Ich habe es jetzt mal mit einem direkten aufruf von
paint(getGraphics());

versucht, so geht es, allerdings flackert so das Original beim ständigen neuzeichnen während der Animation.

Mache jetzt
Code:
if (mainframe.isVisible())
   repaint();
else
   paint(getGraphics());

was aber eine total besch... eidene Lösung ist, da die Preview jetzt extrem flackert :-(
 

Der Müde Joe

Top Contributor
Nicole81 hat gesagt.:
Nein das geht leider nicht so einfach, da die Daten des Original auf die eingestellte Pixelgrösse des originals abgestimmt sind.

Das Image wurde ja auch irgendwie erstellt. Mach doch eine Funktion getPreviewImage() oder so, welche dir aus den Daten des Originals eine Preview erstellt (halt nicht mehr in der paint drin aber wen störts....). Die paintComponent(G g) der Preview ruft wenn sie Previewen will diese Methode auf und erhält die Preview als Image (oder BufferedImage). Somit ist das Original auch nicht mehr verantworlich für die Preview, sondern die Preview macht seine Aufgaben selber.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JPanel und Repaint AWT, Swing, JavaFX & SWT 5
K Jpanel repaint problem (Fullscreen) AWT, Swing, JavaFX & SWT 5
Dragonfire Swing Zoom mit JPanel und repaint() ... AWT, Swing, JavaFX & SWT 3
G jpanel macht kein repaint AWT, Swing, JavaFX & SWT 2
G JPanel neu zeichnen mit repaint AWT, Swing, JavaFX & SWT 15
@ JPanel: kein paintComponent() trotz repaint() AWT, Swing, JavaFX & SWT 4
C JPanel repaint()-et ununterbrochen AWT, Swing, JavaFX & SWT 3
A Repaint unterdrücken bei DrawLine in JPanel AWT, Swing, JavaFX & SWT 4
B JMenuBar sowie Buttons nach repaint auf JPanel AWT, Swing, JavaFX & SWT 2
C Permanenter Inhalt für JPanel (repaint vermeiden) AWT, Swing, JavaFX & SWT 2
D Repaint Funktioniert nicht AWT, Swing, JavaFX & SWT 2
D JUNG Repaint function does not work AWT, Swing, JavaFX & SWT 2
E repaint Probleme AWT, Swing, JavaFX & SWT 13
G listener repaint() - verschiedene Darstellung AWT, Swing, JavaFX & SWT 24
ExceptionOfExpectation Textdarstellung auf einem Canvas mit Hilfe von repaint(); AWT, Swing, JavaFX & SWT 6
J actionperformed wird nicht aufgerufen/ repaint() AWT, Swing, JavaFX & SWT 6
L Swing repaint() ruft paintComponent(g1d) nicht auf AWT, Swing, JavaFX & SWT 12
G Repaint wird nicht durchgeführt AWT, Swing, JavaFX & SWT 8
I Swing Verhindern, dass repaint() kaskadiert AWT, Swing, JavaFX & SWT 6
ms_cikar Update swingUtilities Repaint in der Schleife AWT, Swing, JavaFX & SWT 3
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
N Swing JButtons werden nach repaint() doppelt dargestellt AWT, Swing, JavaFX & SWT 12
K Methode repaint() AWT, Swing, JavaFX & SWT 1
B Swing Wann brauche ich repaint() ? AWT, Swing, JavaFX & SWT 1
javampir Swing repaint in JavaFX Anwendung AWT, Swing, JavaFX & SWT 3
A repaint(); AWT, Swing, JavaFX & SWT 9
J Swing ungewünschter Nebeneffekt bei der repaint() Methode AWT, Swing, JavaFX & SWT 3
A Problem: repaint() - Schleife AWT, Swing, JavaFX & SWT 3
S 2D-Grafik repaint()-Aufruf. Und nichts geschieht. AWT, Swing, JavaFX & SWT 5
Joew0815 JDialog repaint() funktioniert nicht wie gewünscht. AWT, Swing, JavaFX & SWT 2
J JavaFX Automatisches Neuzeichnen ("Repaint") abstellen. AWT, Swing, JavaFX & SWT 10
F JTable Repaint Issue AWT, Swing, JavaFX & SWT 1
N Observer: update ruft nicht repaint auf AWT, Swing, JavaFX & SWT 0
C Repaint() funktioniert nicht in TabbedPanel AWT, Swing, JavaFX & SWT 5
S JList repaint AWT, Swing, JavaFX & SWT 1
L NullpointerException und Probleme mit repaint() AWT, Swing, JavaFX & SWT 11
M Repaint mittels Button richtig aufrufen klappt nicht AWT, Swing, JavaFX & SWT 1
B Repaint auf JFrame, JLabel und ImageIcon AWT, Swing, JavaFX & SWT 4
K 2D-Grafik Paint - Wie binde ich repaint ein? AWT, Swing, JavaFX & SWT 8
D repaint() klappt anders als vorgestellt AWT, Swing, JavaFX & SWT 15
R Repaint() in Schleifen, Threads AWT, Swing, JavaFX & SWT 13
B Swing Repaint Problem - mal wieder AWT, Swing, JavaFX & SWT 5
P 2D-Grafik Gezielter Repaint einzelner Frames in Java-Game AWT, Swing, JavaFX & SWT 6
javampir Bei repaint nix los AWT, Swing, JavaFX & SWT 2
B Swing repaint() AWT, Swing, JavaFX & SWT 3
Ernesto95 AnimationLoop - Problem bei Aufruf von repaint AWT, Swing, JavaFX & SWT 6
P 2D-Grafik repaint(); steigender RAM Verbauch AWT, Swing, JavaFX & SWT 6
Y KeyListener, GUI Thread, repaint AWT, Swing, JavaFX & SWT 7
S Applet Repaint AWT, Swing, JavaFX & SWT 3
M Programm hängt sich auf nachdem repaint() benutzt wurde AWT, Swing, JavaFX & SWT 2
R Swing Grafikfehler bei repaint AWT, Swing, JavaFX & SWT 2
N repaint() blockieren AWT, Swing, JavaFX & SWT 6
K canvas zeig nach repaint nichts an AWT, Swing, JavaFX & SWT 8
M Repaint() AWT, Swing, JavaFX & SWT 14
J Swing repaint, repaint, repaint AWT, Swing, JavaFX & SWT 8
M Applet repaint() verlangsamen AWT, Swing, JavaFX & SWT 7
R paintComponent malt bei repaint() Rahmen um Panel AWT, Swing, JavaFX & SWT 7
P EDT Problem? Kein Aufruf der repaint Methode AWT, Swing, JavaFX & SWT 6
V Applet JApplet Flackern durch Repaint AWT, Swing, JavaFX & SWT 11
kodela Problem mit repaint() AWT, Swing, JavaFX & SWT 3
N Swing Funktion repaint() updated nicht AWT, Swing, JavaFX & SWT 5
F repaint reagiert nicht AWT, Swing, JavaFX & SWT 8
S AWT Probleme mit repaint() AWT, Swing, JavaFX & SWT 2
D Repaint()? Oder was??? AWT, Swing, JavaFX & SWT 5
M Eine nicht korrekte Darstellung bei repaint() warum? AWT, Swing, JavaFX & SWT 4
T 2D-Grafik Kreis "von Hand" zeichnen -> jedesmal repaint()? AWT, Swing, JavaFX & SWT 6
R validate(), repaint funktionieren nicht! AWT, Swing, JavaFX & SWT 7
B AWT Canvas überdeckt nach repaint() JComboBox-Optionen AWT, Swing, JavaFX & SWT 2
B Swing verschachteltes GUI: repaint() ändert mehr als nur gewünschte Component AWT, Swing, JavaFX & SWT 4
S validate(), invalidate(), repaint(),... Was kommt wann? AWT, Swing, JavaFX & SWT 5
M 2D-Grafik repaint() löscht altes Bild nicht AWT, Swing, JavaFX & SWT 2
J repaint() nicht richtig? AWT, Swing, JavaFX & SWT 6
R repaint erzwingen AWT, Swing, JavaFX & SWT 3
Zettelkasten repaint() von anderen Klassen aufrufen AWT, Swing, JavaFX & SWT 4
H repaint()-Problem - 50% CPU-Auslastung AWT, Swing, JavaFX & SWT 4
P repaint während Thread läuft AWT, Swing, JavaFX & SWT 9
D Repaint Frage, Design Frage AWT, Swing, JavaFX & SWT 2
N Swing MainWindow(JFrame) aktualisieren(neuzeichnen) repaint AWT, Swing, JavaFX & SWT 4
T repaint() Problem AWT, Swing, JavaFX & SWT 2
A 2D-Grafik Repaint - Alternative? AWT, Swing, JavaFX & SWT 3
C JLabel, JTextArea, JScrollPane. repaint(); ? AWT, Swing, JavaFX & SWT 6
N Swing repaint() funktioniert nicht AWT, Swing, JavaFX & SWT 5
T Swing repaint funktioniert nur manchmal? AWT, Swing, JavaFX & SWT 6
V Swing Bei repaint() tut sich nichts AWT, Swing, JavaFX & SWT 7
G ColorReader, bei Fadenkreuz zeichnen mit repaint() flackern AWT, Swing, JavaFX & SWT 19
I Canvas Repaint Probleme AWT, Swing, JavaFX & SWT 2
D Swing Actionlistener verhindert repaint?! AWT, Swing, JavaFX & SWT 2
S JLabel repaint AWT, Swing, JavaFX & SWT 8
C Swing Linux mag mein Swing-repaint() nicht... AWT, Swing, JavaFX & SWT 7
J Swing paintComponent() - repaint() - BufferedImage anzeigen AWT, Swing, JavaFX & SWT 5
Luk10 repaint() auch in anderen Klassen! AWT, Swing, JavaFX & SWT 6
A repaint() zu langsam, bitte um alternativen AWT, Swing, JavaFX & SWT 5
T Überlappende Transparenz und repaint() AWT, Swing, JavaFX & SWT 10
E EINFACHE Verständnisfrage zu repaint(), paintComponent(), usw. AWT, Swing, JavaFX & SWT 16
O Girdbag Formatierung nach repaint verloren AWT, Swing, JavaFX & SWT 2
E Swing - repaint() AWT, Swing, JavaFX & SWT 6
T Image wird nicht angezeigt?! - MediaTracker/repaint AWT, Swing, JavaFX & SWT 9
E AWT Problem mit Repaint (in Loop oder Timer) AWT, Swing, JavaFX & SWT 3
O Exception bei repaint AWT, Swing, JavaFX & SWT 3
D Fragen zu Swing, paintComponent() und repaint AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen


Oben