Flackern nach Einfügen von SplitPane

Hardware, Software, Webdesign & Coding.

Moderator: Katana

Antworten
Benutzeravatar
Enlil
Beiträge: 4279
Registriert: Sa Jan 20, 2001 1:01 am

Flackern nach Einfügen von SplitPane

Beitrag 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!!!!!
Benutzeravatar
XTale
Zweiter Admin im Bunde
Beiträge: 4736
Registriert: Fr Mai 12, 2000 12:01 am

Beitrag 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)
Bild
Benutzeravatar
Katana
Beiträge: 5337
Registriert: So Jan 02, 2000 1:01 am

Beitrag 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.
Benutzeravatar
Enlil
Beiträge: 4279
Registriert: Sa Jan 20, 2001 1:01 am

Beitrag 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.
Benutzeravatar
XTale
Zweiter Admin im Bunde
Beiträge: 4736
Registriert: Fr Mai 12, 2000 12:01 am

Beitrag von XTale »

bring ihm lieber mal go-regeln bei ;)
Bild
Antworten