Automatisches Rendern einen JPanels

Status
Nicht offen für weitere Antworten.
S

StFighter

Gast
Gibts es für Swing-objekte die möglichkeit sie automatisch das repaint( ) durchführen zu lassen?
Ich schreibe gerade ein kleines Spiel und will das Spielfeld, Highscore etc. hineinrendern.
Natürlich soll sich was bewegen, darum soll es auch ständig neu gezeichnet werden.

Gibts da eine Möglichkeit die komponente so zu Konfigurieren, oder muss ich das über einen Thread steuern und über InvokeLater( ) updaten lassen?

Bin dankbar für jede Anregung

mfg stf
 
S

StFighter

Gast
Danke für die schnelle Antwort!

Ich hab jetzt einen Timer erstellt, der alle 20ms ein repaint() initiiert.
Funktioniert erwartungsgemäß einwandfrei.

Was passiert aber wenn die Darstellung so Rechenintensiv wird, das die Aktualisierung nicht nachkommt?
Frisst mir dann die Darstellung die gesamte Rechenleistung weg, oder sind da eher keine probleme zu erwarten?
 

Marco13

Top Contributor
Das mit dem Timer klingt nach einem Hack. Es sollte ein repaint ausgelöst werden, wenn sich etwas geändert hat (und NUR dann). Dann stellt sich die Frage mit dem "Nachkommen" auch nicht.
 

Marco13

Top Contributor
Ja - aber einen Thread, der mehr macht, als dauernd sinnlos repaint aufzurufen. Ganz plakativ:

NICHT OK:

Code:
Thread t = new Thread(new Runnable()
{
    public void run()
    {
        repaint();
        warte();
    }
});
t.start();


OK:
Code:
Thread t = new Thread(new Runnable()
{
    public void run()
    {
        bewegEinObjektEinKleinesStückchenIrgendwoHin();
        repaint();
        warte();
    }
});
t.start();
 

André Uhres

Top Contributor
StFighter hat gesagt.:
..Ich hab jetzt einen Timer erstellt, der alle 20ms ein repaint() initiiert..
das ist schon ziemlich oft, meistens genügt alle 50 bis 100ms für eine Animation.
Und du solltest auch, wie Marco13 schon andeutete, darauf achten,
daß du nicht einfach wahllos repaints auslöst, sondern möglichst nur solange tatsächlich eine Animation läuft :wink:
 

Wildcard

Top Contributor
@Marco
Das was der Thread macht kann der Timer aber auch erledigen.
Das wait wird in diesem Fall durch das delay des Timers ersetzt.
Eignet sich allerdings nur für relativ einfache Dinge...
 
S

StFighter

Gast
Marco13 hat gesagt.:
Das mit dem Timer klingt nach einem Hack. Es sollte ein repaint ausgelöst werden, wenn sich etwas geändert hat (und NUR dann). Dann stellt sich die Frage mit dem "Nachkommen" auch nicht.

Die repaints wären schon notwendig, da sich ständig eine änderung ergibt.
( Highscoreanzeige mit bewegtem hintergrund )
Nur stellt sich die Frage was geschieht wenn innerhalb von 20ms das bild nicht gerendert werden kann.
Dann müsste sich die Geschwindigkeit der Bewegung halbieren, da sie mit dem repaint gekoppelt sind und das will ich nicht.
So wie ich das verstehe muss ich eine Zeitmessung vornehmen und die Bewegung abhängig von der Zeitdifferenz machen.
20ms sind für mich halt ein guter richtwert weil 50Hz ein schön flüssiges Bild ergeben würde.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
news2swen automatisches erstellen eines Languagefiles AWT, Swing, JavaFX & SWT 1
M JavaFX Automatisches Aktualisieren der Seite AWT, Swing, JavaFX & SWT 26
N "Automatisches" erstellen von jButtons AWT, Swing, JavaFX & SWT 1
Thallius Automatisches Scrollen zum aktiven JTextView klappt nicht AWT, Swing, JavaFX & SWT 2
J JavaFX Automatisches Neuzeichnen ("Repaint") abstellen. AWT, Swing, JavaFX & SWT 10
K Swing Automatisches "Packen" beim "Neu-Painten" AWT, Swing, JavaFX & SWT 2
V automatisches neuzeichnen verhindern AWT, Swing, JavaFX & SWT 3
F Swing GUI-Thread für automatisches Update nutzen AWT, Swing, JavaFX & SWT 10
K Automatisches schliessen eines Dialogs AWT, Swing, JavaFX & SWT 4
P Automatisches Mitscrollen der ScrollPane AWT, Swing, JavaFX & SWT 2
G Weiches automatisches verschieben eines JSplitPane-Dividers? AWT, Swing, JavaFX & SWT 3
V Automatisches Scrollen bei JScrollPane AWT, Swing, JavaFX & SWT 10
S Automatisches Scrollen in einer JTextArea AWT, Swing, JavaFX & SWT 6
Yonnig Lokale HTML-Datei in Java GUI rendern AWT, Swing, JavaFX & SWT 4
J Falsches Rendern durch JCheckBox in eigenem JTree AWT, Swing, JavaFX & SWT 6
Cromewell JavaFX Nur bestimmten Teil eines Canvas rendern und anzeigen AWT, Swing, JavaFX & SWT 2
M Sauberes Rendern ? AWT, Swing, JavaFX & SWT 12
P Rendern von Geraden im 3 dimensionalen Raum durch Rotationen AWT, Swing, JavaFX & SWT 0
Luk10 Effizienteres CPU-Rendern AWT, Swing, JavaFX & SWT 33
B JList nach dem Rendern sortieren AWT, Swing, JavaFX & SWT 3
B Label breite ermitteln vor dem rendern? AWT, Swing, JavaFX & SWT 7
K JLabel neu rendern AWT, Swing, JavaFX & SWT 5
M 2D-Grafik Offscreen-Rendern von Bildern AWT, Swing, JavaFX & SWT 2
TiME-SPLiNTER Swing JListModel: String rendern AWT, Swing, JavaFX & SWT 2
E JPanel in BufferdImage rendern problem AWT, Swing, JavaFX & SWT 2
S Wort aus Einzelbuchstaben rendern? AWT, Swing, JavaFX & SWT 3
S Swing JScrollpane Inhalt auswechseln und neu rendern?! AWT, Swing, JavaFX & SWT 5
Kr0e Text rendern AWT, Swing, JavaFX & SWT 11
Kr0e Swing in Bild rendern AWT, Swing, JavaFX & SWT 7
D Area rendern AWT, Swing, JavaFX & SWT 4
D Bild rendern AWT, Swing, JavaFX & SWT 8
S JTree rendern der Knoten [+] und [-], nicht der Node Icons AWT, Swing, JavaFX & SWT 2
R JTable - Rendern der einzelnen Zellen AWT, Swing, JavaFX & SWT 3
P Unsichtbare Komponente in ein Bild rendern? AWT, Swing, JavaFX & SWT 11
I Text innerhalb von Rectangle rendern AWT, Swing, JavaFX & SWT 3
F JTree: Elemente über ganze Zeile rendern AWT, Swing, JavaFX & SWT 6
M rendern von zeichen AWT, Swing, JavaFX & SWT 4
N Textfelder = Inhalt vorhanden && Jtable rendern AWT, Swing, JavaFX & SWT 8
MiMa Reaktion auf einen SplitScreenTrenner? AWT, Swing, JavaFX & SWT 2
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
U Gibt es eine Möglichkeit statt concatenate einen anderen Befehl zu nutzen? AWT, Swing, JavaFX & SWT 9
K Warum genau hat man einen Listener, dann ein Event und was ist ein Adapter AWT, Swing, JavaFX & SWT 2
I Probleme beim Drucken auf einen PDF-Drucker AWT, Swing, JavaFX & SWT 8
Jose05 JavaFX: eigene FXML-Datei für einen Button AWT, Swing, JavaFX & SWT 3
P Swing ActionListener überschreibt einen Wert aus der Hauptklasse nicht AWT, Swing, JavaFX & SWT 5
Z Mit einem Button einen anderen Button Triggern AWT, Swing, JavaFX & SWT 3
J Gibt es einen Grund für 16x16 anstatt z.B. 15x15 Tiles ? AWT, Swing, JavaFX & SWT 10
O Soll ich einen JEditorPane verwenden ? AWT, Swing, JavaFX & SWT 5
L JavaFX JavaFX stürtzt durch einen Server#connect Exception AWT, Swing, JavaFX & SWT 3
Drachenbauer Hauptfenster erhält schmale Streifen rechts unt unten, wenn ich einen JDialog hinzufüge. AWT, Swing, JavaFX & SWT 19
J Schriftart über einen Button ändern AWT, Swing, JavaFX & SWT 1
J Genutzte Methoden in einen Frame einbauen AWT, Swing, JavaFX & SWT 21
P Wie lese ich einen jRadioButton aus? AWT, Swing, JavaFX & SWT 21
MaxG. Swing JMenu einen Listener Hinzufügen AWT, Swing, JavaFX & SWT 25
Sanni94 JavaFX Kann man eine Grafik in einen Text einbinden? AWT, Swing, JavaFX & SWT 2
H JavaFX aus der .fxml Datei einen Konstruktor bedienen AWT, Swing, JavaFX & SWT 3
H JavaFX via .fxml einen abgeleiteten Button erstellen... AWT, Swing, JavaFX & SWT 4
S Swing GANZE Row auf einen Schlag einfärben AWT, Swing, JavaFX & SWT 2
B JavaFX Wie programmiere ich hier einen "Weiter" Button? AWT, Swing, JavaFX & SWT 11
P Einer JList mit eigenem ListModel einen Eintrag hinzfügen AWT, Swing, JavaFX & SWT 5
L Wie realisiere ich einen Controller AWT, Swing, JavaFX & SWT 1
A Slider soll einen Wert übergeben AWT, Swing, JavaFX & SWT 1
F JavaFX Erstelle einen Wald AWT, Swing, JavaFX & SWT 6
Thallius Swing Aufgabe für einen der gerne Tüftelt. AWT, Swing, JavaFX & SWT 4
M JavaFX Wie füge ich zu einer WebEngine einen Flash Player hinzu AWT, Swing, JavaFX & SWT 3
G AWT Wie bekomme ich einen zeitgesteuerten robot hin? AWT, Swing, JavaFX & SWT 6
D Event Handling Aus einer anderen Klasse heraus einen Text des JLabels ändern. AWT, Swing, JavaFX & SWT 12
C Im ActionListener Buttons disablen, einen Thread starten, dann Buttons enablen AWT, Swing, JavaFX & SWT 2
H Swing Probleme beim erstellen eines neuen Objektes durch einen Button AWT, Swing, JavaFX & SWT 10
B SWT Problem: Wie kann man für jede TableColumn einen eigenen KeyListener registrieren. AWT, Swing, JavaFX & SWT 1
S Bei BoxLayout haben hinzugefügten Jpanels einen Versatz/Space AWT, Swing, JavaFX & SWT 0
D Graphics2D einen Bereich füllen AWT, Swing, JavaFX & SWT 1
T Einen Variablen Wert in einem TextField AWT, Swing, JavaFX & SWT 4
M Swing Mit Java in der GUI einen Belegungsplan einfügen AWT, Swing, JavaFX & SWT 23
P Swing Panel-austausch über einen MenuListener AWT, Swing, JavaFX & SWT 2
H Swing Hintergrundbild in einen JFrame einfügen AWT, Swing, JavaFX & SWT 7
K 2D-Grafik Kontrastanpassung über einen JSlider AWT, Swing, JavaFX & SWT 2
E Warum macht die einfache Animation einen kleinen Fehler? AWT, Swing, JavaFX & SWT 14
A Swing JTextField durch einen JButton leeren AWT, Swing, JavaFX & SWT 15
J Swing JTable-Event für einen Select?? AWT, Swing, JavaFX & SWT 3
P Swing RadioButtons - nur einen auswählen AWT, Swing, JavaFX & SWT 3
VfL_Freak Swing KeyListener, um einen Dialog per ESC zu schließen AWT, Swing, JavaFX & SWT 6
J JFrame in einen JFrame anzeigen AWT, Swing, JavaFX & SWT 2
L Mehre Panels einen Frame zuweisen AWT, Swing, JavaFX & SWT 11
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
Madlip SWT Tree mit einen Klick alles ausklappen AWT, Swing, JavaFX & SWT 3
D JTree nach Klick auf einen Hyperlink aktualisieren AWT, Swing, JavaFX & SWT 3
M JProgressBar für einen Thread AWT, Swing, JavaFX & SWT 14
T Einen Kreis anzeigen AWT, Swing, JavaFX & SWT 14
M SWT /Jface Wann einen ColumnLabelProvider benutzen? AWT, Swing, JavaFX & SWT 2
-horn- WorldWindJava+JOGL soll einen animierten Graphen anzeigen, wie? AWT, Swing, JavaFX & SWT 4
X Einem JFrame einen Dialog als Parent setzen. Möglich? AWT, Swing, JavaFX & SWT 4
A 2D-Grafik Alles auf einen Panel Zeichnen AWT, Swing, JavaFX & SWT 5
P 2D-Grafik Neue Farbe für einen Teilbereich einer Linie? AWT, Swing, JavaFX & SWT 8
M 3D-Grafik verschiedene Texturen auf einen Würfel mappen AWT, Swing, JavaFX & SWT 15
VfL_Freak Swing kann ich einen laufenden Timer mitten in der Ausführung abbrechen? AWT, Swing, JavaFX & SWT 6
P Swing JTabbedPane mit JButton einen anderen Tab anzeigen AWT, Swing, JavaFX & SWT 9
G Mit Java einen Button wie z.B. im Opera 10.63 erzeugen AWT, Swing, JavaFX & SWT 3
F Swing Beenden eines ActionListener über einen Button AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben