Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Java
You last visited: Today at 15:49

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



GUI.java ändert die Textfields nicht

Discussion on GUI.java ändert die Textfields nicht within the Java forum part of the Coders Den category.

Reply
 
Old   #1
 
EinfachSö's Avatar
 
elite*gold: 76
Join Date: Jun 2012
Posts: 1,043
Received Thanks: 216
Question GUI.java ändert die Textfields nicht

Hi,

Also bevor ich bisschen Code poste schildere ich mein Problem. Ich schreibe als kleine Übung ein Programm, dass Sudokus lösen kann. Ich habe zwei Klassen.
Die eine ist die Main-class in der Main.java. In ihr geschieht das Lösen des Sudokus. Das klappt alles super.
Die zweite ist die GUI-class in der GUI.java. In ihr modelliere ich halt das GUI. 9x9 Textfields und ein Button zum Starten des Ganzen.
Das Programm liest die Textfields aus(wenn beschriftet) und gibt diese an die Main.java weiter und dort geschieht dann der Rest. Zum Schluss rufe ich die Methode writeSudoku(array) auf, welche sich ebenfalls in der GUI.java befindet und die Textfelder nun mit der Lösung beschriften soll.

GUI.java:

Die Main.java ist irrelevant, da dort alles super verläuft.
Ganz unten in der GUI.java "System.out.println(String.valueOf(array[i][j]));" habe ich eingefügt um zu kontrollieren ob das entgegengenommene Array die Zahlen enthält. Tut es! Es muss daran liegen, dass ich die writeArray()-Methode aus einer anderen Klasse aufrufe und Java mit dem allField[i][j] nicht zurechtkommt.

Anmerkung:

Ich verstehe aber nicht warum dies so ist und auch nicht wie ich das umgehen kann.


Main.java (wen es interessiert):
EinfachSö is offline  
Old 11/28/2015, 16:40   #2
 
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 445
In deiner main() Methode erstellst du ein GUI Objekt und zeigst es an. Das ist das Fenster, das du siehst. Jetzt löst du das Sudoku und schreibst in deiner Main.java, am Ende von startSolving:
Code:
		GUI endSudoku = new GUI();
		endSudoku.writeSudoku(workArray);
Du erstellst also nochmal ein neues GUI Objekt, ein neues Fenster. Das wird aber nicht aufgerufen, weil du kein setVisible() machst. Deswegen passiert (anscheinend) nichts.

Wenn du die Lösung im selben Fenster anzeigen möchtest, musst startSolving() dein GUI Objekt als Parameter mit übergeben. Anstatt endSudoku = new GUI() nutzt du dann das übergebene Objekt, um die Lösung einzutragen.

Also ungefähr so:
Code:
public void startSolving(int[][] array, GUI gui) { 
    // ..... Code
    gui.writeSudoku(workArray);
}
und in GUI ersetzt du
Code:
start.startSolving(array);
durch
Code:
start.startSolving(array, this);
algernong is offline  
Thanks
1 User
Old 11/28/2015, 16:59   #3
 
EinfachSö's Avatar
 
elite*gold: 76
Join Date: Jun 2012
Posts: 1,043
Received Thanks: 216
Quote:
Originally Posted by algernong View Post
Du erstellst also nochmal ein neues GUI Objekt, ein neues Fenster. Das wird aber nicht aufgerufen, weil du kein setVisible() machst. Deswegen passiert (anscheinend) nichts.
Ah! Vielen Dank.
Ich übernehme dann mal deinen Code Das dürfte "schöner" geschrieben sein.
EinfachSö is offline  
Reply


Similar Threads Similar Threads
Ip adresse ändert sich nicht
02/11/2015 - Technical Support - 4 Replies
Denke ich hab ein Netzwerkfehler manchmal lässt sich die Dynamische Ip via Routerconnect verändern manchmal nich,früher ging das ohne probleme,jemmand ne idee ??
Ladebalken ändert sich nicht.
01/04/2014 - Metin2 Private Server - 9 Replies
Habe einen Ladebalken im richtigen Format, aber wenn ich diese dds einfüge, ist und bleibt der alte. Warum?? Bitte helft mir.
AutoIt ändert Value nicht
03/28/2012 - AutoIt - 4 Replies
Moinsen, ich habe hier ein kleines AutoIt Script für S4 geschrieben, dass eine bestimmte Map zu einer anderen macht. Wenn ich das Spiel nun bypassed starte, passiert nix. Das script schließt sich nicht und die Map wird auch nicht verändert. Ich weiß nicht warum. Ich hoffe, dass mir jemand helfen kann. Der Quellcode: #RequireAdmin #region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Outfile_type=a3x #AutoIt3Wrapper_Outfile=BackUp\map test.a3x
CE ändert Value nicht
04/01/2011 - General Coding - 2 Replies
Hab nur eine Frage bezüglich CE Kann man bestimmte Values nicht ändern? also auch wenn ich sie Freeze bleiben sie noch bei dem selben wert. Byte 06BEC4F8 Value: 75 -> 78 z.B. geht nicht bei dem Spiel Microvolts. Ich versuche hier die Skin-ID in dem Fall 75 auf 78 zu änder um ingame ein anderes Model zu haben.



All times are GMT +2. The time now is 15:49.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.