Seite 1 von 1
Flackern nach Einfügen von SplitPane
Verfasst: Di Sep 28, 2004 8:55 pm
von Enlil
Bei dem Programm da sich momentan schreibe, male ich ein Gobrett in ein Offscreenimage und mal das ganze auf dne Bildschirm. Das passiert entweder, wenn ein Stein gesetzt (geklickt) wird oder die Fenstergröße erändert wird. Wobei bei einer Veränderung der Fenstergröße die verwendeten Bilder angepasst werden müssen, was zu einem minimalen Flackenr führt. Soweit so gut.
Nun war es aber erforderlich, dass ich auf ein Canvas male und das ganze in ein SplitPane stecke, damit ich am unteren Bildrand später ein Textfeld anzeigen aknn und die Größe der beiden Komponenten dann frei anpassbar ist. Seit ich da sProgramm so umgebaut hab flackert das ganze aber beim repainten ungemein. Weis da evt. jemand woran da sliegen kann?
Quellcode gibt es
hier (Achtung ~5MB!)
Vieln Vielen Dank für Hilfe!!!!!
Verfasst: Di Sep 28, 2004 9:14 pm
von XTale
öhm
1) ohne .class files wärs kleiner geworden
1b) 1x graphics hät auch gelangt
2) gehts um JGo22 oder JGo21?
3) JGo22 geht nich weil:
dama@localhost JGo022 $ java JGo
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method offPaint() is undefined for the type MainWindow
at JGo.main(JGo.java:13)
Verfasst: Di Sep 28, 2004 9:26 pm
von Katana
Stimme XTale zu
Außerdem solltest du - auch wenn's nur wenige Sourcen sind - Packages einführen, dann wird das ganze um einiges Übersichtlicher.
Kommentare solltest du auch ein paar einfügen, da es ohne weiteres nicht möglich ist herauszufinden wie du das Painting vornimmst.
Malst du eigentlich direkt auf den JFrame?
In Options.java scheint eine Methode zu fehlen, heißt es da doch
Code: Alles auswählen
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
/**
* This method initializes jSplitPane
*
* @return javax.swing.JSplitPane
*/
}
Auch solltest du dich vielleicht auf eine Sprache beschränken, Methoden wie "addPunkte" oder "getFarbe" oder definitionan á la "public Stein getStone()" verwirren zu sehr.
Ich würde mal versuchen es auf ein JPanel zu zeichnen und bei diesem "setDoubleBuffered(true)" aufrufen, einen Versucht ist's wert.
Verfasst: Di Sep 28, 2004 10:21 pm
von Enlil
Das JGo022 solte eigentlcih die alte Version sein, wo noch direkt ins farme gemalt wurde statt auf ein Canvas, wo es auch noch nicht flackerte. Leider musste ich dafür die Änderungen wieder rückgängig machen, aber hatte vergessen nochmal abzuspeichern und habe daher eine Version geuppt wo quasi keien Zeichenfunktionen mehr enthalten waren. )c:
Mitd en Bildern und den clas-Dateien,d a stut mir leid. Hätte ich darn denken können.
Dokumentation habe ich zugegebenermaßen sehr vernachlässigt. War einfahc z sehr im Eifer des Gefechtes. Außerdem ist das mein ersten Programm da sich nicht nur im Ramen von irgendeiner Übungsaufgabe schreibe. Dahe rauhc keien Packages. Kenn die Teile nur von TSE her und da habe ich den Sinn für kleien projekte zugegebner Maßen nciht so ganz verstanden. werde michd a wohl nochmal genauer informieren müssen, wie und wann man die Teiel verwendet.
Das Problem miot dem Flackenr ist jetzt dnak Katana (Vielen Vielen dank!!!!!!) behoben. habe wie vorgeschlagen einfahc das Canvas durch ein JPanel erstezt un das gebuffered. Jetzt flimmert es wieder nur beim Verändern der Größe.
Werde mir wohl wirklich ein wenig Zeit nehemnmüssen um das ganze mal ein bishcen übersichtlicher zu gestalten.
@XTale und Katana: Vielen Dank an euch beide! Wirklcih sehr sehr net, dass ihr euch die Zeit genommen habt, obwohl es so unübersichtlich ist!
Achja: Das Options.java ist noch lange nicht fertig, bzw ich habe da nur mal einen Editor für GUIs ausprobiert. Hätte ich vielleicht vorher erwähnen sollen, bzw. das Ding rausnehmen.
Verfasst: Di Sep 28, 2004 11:31 pm
von XTale
bring ihm lieber mal go-regeln bei
