Java Swing - repaint() funktioniert nicht

Status
Nicht offen für weitere Antworten.

icarus2

Top Contributor
Hi
Ich möchte gerne für meine Maturaarbeit das N-Damenproblem mit einen grafischen Oberfläche in Swing lösen.

Dazu habe ich die Oberfläche jetzt einmal so in etwa gemacht. Das Problem ist jedoch, dass in der Klasse Schachbrett die repaint()-Methode nicht wirklich funktioniert, wie sie sollte.
Problem: Das alte Koordinatengitter bleibt bestehen, wenn man die verschiedenen JRadioButtons anklickt oder die 2 JButtons vergrössern und verkleinern. Das Schachbrett wird erst richtig gezeichnet, wenn ich die Grösse des gesamten Fensters ändere.

Könnte mir da jemand helfen. Ich habe in den weiten des Internes nichts gefunden, das mir geholfen hätte. Ich habe schon einmal etwas in der Art gemacht und dort hat es so geklappt.

Die Klassen sollte befinden sich im Anhang. NDamenProblem enthält die main-Methode. In der Klasse Schachbrett wird alles gezeichnet und dort befindet sich die repaint()-Methode. Ansonsten habe ich alles kommentiert.


Ich wäre euch wirklich sehr dankbar, wenn ihr mir einen Tipp geben könntet (z.B. eine Alternative für repaint() oder so etwas in der Art).

PS: Damit mich niemand falsch versteht... ich erwarte natürlich nicht, dass ihr mir jetzt den ganzen Code umschreibt. Ich hab ihn nur angehängt, damit ihr das Programm selber laufen lassen könnt, falls ich mein Problem nicht gut genug beschrieben habe ;-)
 

Anhänge

  • Vorbereitungen_6.zip
    4,4 KB · Aufrufe: 4

Verjigorm

Top Contributor
ersetze deine paint()-Methode
durch paintComponent()!:

paint() überschreibt man in einem JPanel NICHT!

PS: Da sind generell einige Dinge SEHR grausam ;)

Code:
 @Override
	protected void paintComponent(Graphics g) 
  {
		super.paintComponent(g);
		   switch (n) {
		      case 4:
		      Schachbrett4Felder(g);
		      break;
		      case 5:
		      Schachbrett5Felder(g);
		      break;
		      case 6:
		      Schachbrett6Felder(g);
		      break;
		      case 7:
		      Schachbrett7Felder(g);
		      break;
		      case 8:
		      Schachbrett8Felder(g);
		      break;
		      case 9:
		      Schachbrett9Felder(g);
		      break;
		      case 10:
		      Schachbrett10Felder(g);
		      break;
		      case 11:
		      Schachbrett11Felder(g);
		      break;
		      case 12:
		      Schachbrett12Felder(g);
		      break;
		    }
	}
 
Zuletzt bearbeitet:

icarus2

Top Contributor
Ersma Danke für die Hilfe.

Was ist denn genau so grausam?

Ist halt mein erstes Projekt... ich programmiere erst seit seeeehr kuzer Zeit.
 

Verjigorm

Top Contributor
Aktuelles Beispiel:
überleg dir mal was du in den Methoden SchachbrettXFelder(g) passiert und ob du wirklich 10 verschiedene Funktionen brauchst, ober ab es eine Funktion tut mit einem weiteren Übergabeparamter
Dann würde auch die ganze Switch-Anweisung wegfallen.

Genauso deine actionPerformed im RadioButtonlistener
Schleife mit 2-3 Zeilen ersetzt dein ganzes if/else-konstrukt

Zudem einige weitere Kleinigkeiten
 

icarus2

Top Contributor
Aso, dann isses das, was ich dachte ^^

Da muss ich dir recht geben. Das ist wirklich sehr hässlich gelöst und wird auch noch abgeändert. Ich wollte nur mal den groben Aufbau machen und sehen obs einigermassen geht.

Danke für die Tipps...

kann geschlossen werden : )
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Actionlistener mit Java Swing AWT, Swing, JavaFX & SWT 2
O Ein Java-Programm mit Swing steuern AWT, Swing, JavaFX & SWT 1
M Swing Java Swing/AWT Combobox Bug AWT, Swing, JavaFX & SWT 3
S Swing Java Swing AWT, Swing, JavaFX & SWT 6
D SQL Statements mit Java Swing benutzen AWT, Swing, JavaFX & SWT 4
D DatePicker für Java Swing AWT, Swing, JavaFX & SWT 2
T Java Swing - kleines Rechteck unter dem cursor AWT, Swing, JavaFX & SWT 5
S Java Swing Print() method AWT, Swing, JavaFX & SWT 4
S Java Swing auf Windows Phone AWT, Swing, JavaFX & SWT 6
M Kamera in Java Swing einbinden AWT, Swing, JavaFX & SWT 4
F Java Swing Rechteck in JPanel zeichnen AWT, Swing, JavaFX & SWT 7
D Java Swing, Label lässt sich nicht mit Checkboxen/Knopf verändern AWT, Swing, JavaFX & SWT 2
N JavaFX Umstieg von Swing auf Java FX AWT, Swing, JavaFX & SWT 6
Z Java-Swing : JComponent AWT, Swing, JavaFX & SWT 2
S JComboBox aus anderer Klasse füllen (Java-Swing) AWT, Swing, JavaFX & SWT 0
F Swing Java Swing Array in Datei und wieder raus AWT, Swing, JavaFX & SWT 7
D Java Swing Cache AWT, Swing, JavaFX & SWT 0
T Java Swing Oberfläche aktualisiert sich nicht AWT, Swing, JavaFX & SWT 2
T Java Swing Main GUI Thread AWT, Swing, JavaFX & SWT 3
M Swing Java-Swing-Uebungen AWT, Swing, JavaFX & SWT 6
S Java Swing GUI mit MVC und Threads AWT, Swing, JavaFX & SWT 6
K Automatische Skalierung von GUI Elementen (Java Swing) AWT, Swing, JavaFX & SWT 2
A Java Swing Error AWT, Swing, JavaFX & SWT 3
D Layoutmanager in Java Swing vs. Java AWT AWT, Swing, JavaFX & SWT 3
R Swing Java Swing Gui und nebenläufige Threads AWT, Swing, JavaFX & SWT 4
J Swing MVC mit Java Swing, insbesondere die Controller-Struktur AWT, Swing, JavaFX & SWT 4
2 Werde Java GUIs immer noch mit dem in die Jahre gekommen Swing gemacht? AWT, Swing, JavaFX & SWT 12
S [Java+Scala] GUI mit Swing oder JavaFX AWT, Swing, JavaFX & SWT 6
A Swing LAF unter Windows: javax.swing.DebugGraphics cannot be cast to java.awt.Graphics2D AWT, Swing, JavaFX & SWT 5
T SWF in JAVA [Swing] AWT, Swing, JavaFX & SWT 4
S Beim Aufbau GUI: java.lang.IllegalAccessError in javax.swing AWT, Swing, JavaFX & SWT 6
D Probleme mit Java Swing unter Mac OSX AWT, Swing, JavaFX & SWT 13
M icons für die java.swing components wie jbutton etc AWT, Swing, JavaFX & SWT 5
N Java Swing Event Handling AWT, Swing, JavaFX & SWT 7
S Implementierung Java Swing HelloWorld - verständnisproblem AWT, Swing, JavaFX & SWT 3
oliver1974 Compiz-Fusion und Java/Swing. Hölle. AWT, Swing, JavaFX & SWT 6
C Architekturfrage Java Swing (MVC) AWT, Swing, JavaFX & SWT 3
M Java mit Swing - Elemente erst nach klick sichtbar AWT, Swing, JavaFX & SWT 13
A video-datei in java abspielen (SWING) AWT, Swing, JavaFX & SWT 8
M Java, Swing: MouseMotionListener AWT, Swing, JavaFX & SWT 19
Z Bei Problem mit Java Swing brauche dringende Hilfe AWT, Swing, JavaFX & SWT 3
N Swing startet nicht - java.lang.NoSuchMethodError: main AWT, Swing, JavaFX & SWT 8
L swing und java applet.keine Konflikt ,oder? AWT, Swing, JavaFX & SWT 3
P bmp in java-swing darstewllen AWT, Swing, JavaFX & SWT 2
Juelin Für Java-Spezialisten AWT, Swing, JavaFX & SWT 4
Juelin Java <-> Delphi AWT, Swing, JavaFX & SWT 3
H Exceptions seit java: 1.6.0_65 Umstellung AWT, Swing, JavaFX & SWT 3
H Exception: java.lang.ClassCastException AWT, Swing, JavaFX & SWT 2
M JavaFX java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found AWT, Swing, JavaFX & SWT 5
J Java GUI Dropdown-Menü anzeigen AWT, Swing, JavaFX & SWT 5
M Eigene Java Klasse für allgemeine Grafikelemente AWT, Swing, JavaFX & SWT 8
thor_norsk Java - Allgemeine - Frage AWT, Swing, JavaFX & SWT 14
W Kennt jemand Dear ImGui (und den Java-Wrapper dazu)? AWT, Swing, JavaFX & SWT 0
B Java Projekt mit JavaFX und jfoenix ausführbar machen AWT, Swing, JavaFX & SWT 46
D JAVA Schieberegler AWT, Swing, JavaFX & SWT 6
N JavaFX Einfacher Taschenrechner mit Scene Builder und Java FX AWT, Swing, JavaFX & SWT 0
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
S Welches Java Layout sollte ich verwenden? AWT, Swing, JavaFX & SWT 3
P Fehlermeldung: Error: Could not find or load main class set Caused by: java.lang.ClassNotFoundException: set AWT, Swing, JavaFX & SWT 5
Encera Java FX im Eclipse-Marketplace nichtmehr auffindbar AWT, Swing, JavaFX & SWT 6
_user_q Versionscode aus build.gradle in Java-Klasse ausgeben lassen AWT, Swing, JavaFX & SWT 14
M Java Dateien kopieren mit Fortschrittsbalken AWT, Swing, JavaFX & SWT 13
M Frage zu Java Bundesligaverwaltung AWT, Swing, JavaFX & SWT 7
_user_q Gibt es eine Möglichkeit, in Java alle möglichen Zeichen automatisch tippen zu lassen? AWT, Swing, JavaFX & SWT 13
E 3D-Grafik Java Fatal error bei LWJGL AWT, Swing, JavaFX & SWT 2
Heldderschatten Java Events und Interfaces AWT, Swing, JavaFX & SWT 18
volcanos Scrollen: JScrollPane mit Graphics g und Java-Fonts extends Frame ? AWT, Swing, JavaFX & SWT 5
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
U Warum wird zweimal die Affinetransformation estellt (2Dgraphics, Java)? AWT, Swing, JavaFX & SWT 31
U was bewirkt die methode fill und unterschied zu anderen fill Methoden in 2dgraphics? (Java)? AWT, Swing, JavaFX & SWT 6
DonBronson Java Graphics bewegbar machen (Drag&Drop) AWT, Swing, JavaFX & SWT 3
Yonnig Lokale HTML-Datei in Java GUI rendern AWT, Swing, JavaFX & SWT 4
E Java-TexturePaint sehr langsam AWT, Swing, JavaFX & SWT 9
N Java MySQL Datenbank durchsuchen? AWT, Swing, JavaFX & SWT 7
maximstein JavaFX WebView - java.lang.NoSuchMethodError: 'boolean com.sun.prism.ResourceFactory.isDisposed()' AWT, Swing, JavaFX & SWT 4
Splayfer Custom Font in AttributedString Java AWT, Swing, JavaFX & SWT 4
imawake Java Paket-Tracking Programm 📦 AWT, Swing, JavaFX & SWT 7
izoards *.doc Seitenränder per Java setzen... AWT, Swing, JavaFX & SWT 14
T FXML Datei in Java Code einbinden: javafx.fxml.LoadException AWT, Swing, JavaFX & SWT 2
J Key-Listener in Java AWT, Swing, JavaFX & SWT 37
J Java Datei durch CMD mit Parameter ausführen AWT, Swing, JavaFX & SWT 1
N Java Mouse Listiner macht alles zusammen AWT, Swing, JavaFX & SWT 4
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
T Exception in thread "main" java.lang.NoClassDefFoundError AWT, Swing, JavaFX & SWT 4
M Error occurred during initialization of boot layer java.lang.module.FindException: Module javafx.controls not found AWT, Swing, JavaFX & SWT 14
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
T Swing DPI-Skalierung und Java 2D unter Java 11 (und Windows 10) AWT, Swing, JavaFX & SWT 2
J Spiel mit Java AWT, Swing, JavaFX & SWT 9
I AWT java.awt.FileDialog - "coffee cup"-Icon lässt sich nicht ersetzen AWT, Swing, JavaFX & SWT 14
izoards Java FX Window Event SHOWING AWT, Swing, JavaFX & SWT 17
N FXMLLoader.load java.lang.RuntimeException: Gradle AWT, Swing, JavaFX & SWT 2
T Java GUI - Würfel Programm AWT, Swing, JavaFX & SWT 6
JojoSand Java Programm wird nicht gestartet - keinen Fehlerhinweis AWT, Swing, JavaFX & SWT 9
dtr84 JavaFX/OpenJFX mittels Apache Ivy einbinden (Java 11) AWT, Swing, JavaFX & SWT 18
M Jogl und Java 3d AWT, Swing, JavaFX & SWT 0
S0PEX JavaFX Java 8 auf 15 migrieren OpenJFX mit Gradle eingebunden, jedoch nicht gefunden !? AWT, Swing, JavaFX & SWT 4
I Gui in bestehendes Java-Programm AWT, Swing, JavaFX & SWT 11
V Java-Zeichenfeld mit AWT AWT, Swing, JavaFX & SWT 3
N java Gui friert scheinbar zufällig ein AWT, Swing, JavaFX & SWT 5
T Anderen Java Code durch Code kompilieren und Fehler in Label ausgeben AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen


Oben