Guten Tag,
ich hoffe ihr könnt mir mit meinem kleinen Anliegen helfen. Und zwar arbeite ich zum ersten mal mit einer GUI in Java und bin nun auf ein Problem gestoßen, bei dem ich weiß wo der Fehler liegt, aber nicht wie ich in behebe.
Habe zwei Klassen
Code-Beispiel
GuiCLass erstellt mit WindowBuilder und Eclipse
ScriptClass
Ich hoffe ihr versteht mein blödes Problem, welches wahrscheinlich einfach zu lösen ist.
Kurz: Ich muss innherlab der Script Klasse auf die Set-Funktion der Gui zugreifen
Vielen dank im voraus
ich hoffe ihr könnt mir mit meinem kleinen Anliegen helfen. Und zwar arbeite ich zum ersten mal mit einer GUI in Java und bin nun auf ein Problem gestoßen, bei dem ich weiß wo der Fehler liegt, aber nicht wie ich in behebe.
Habe zwei Klassen
- GUI Class
- ScriptClass
Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
at ScriptClass.<init>(ScriptClass.java:22)
at GUI_Class.<init>(GUI_Class.java:37)
at ScriptClass.<init>(ScriptClass.java:22)
at GUI_Class.<init>(GUI_Class.java:37)
Code-Beispiel
GuiCLass erstellt mit WindowBuilder und Eclipse
Java:
public class GUI_Class{
JFrame GuiClass;
//------------------------------------------------------------------------------------------------------------------------------------------
/**
* Launch the application.
*/
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GUI_Class window = new GUI_Class();
window.GuiClass.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
//------------------------------------------------------------------------------------------------------------------------------------------
/**
* Getter / Setter Function
*/
public void setGUILog (String xMsg)
{
LogArea.append(xMsg + "\n");
}
//----------------------------------------------------------------------------------------------------
/**
* Create the application.
*/
public GUI_Class()
{
initialize();
// Settings for File Chooser -> Logs
openFileChooser = new JFileChooser();
openFileChooser.setCurrentDirectory(new File("C:\\Sandboxes"));
openFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
// Settings for File Chooser -> Logs
openFileChooser2 = new JFileChooser();
openFileChooser2.setCurrentDirectory(new File("C:\\Sandboxes"));
openFileChooser2.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
}
ScriptClass
Java:
public class ScriptClass{
GUI_Class Gui = new GUI_Class (); [B]<--- führt zu Fehler, da neuer Aufruf von init function[/B]
//Beispiel für euch
//Remove duplicated entries in array list
void removeDuplicatedEntries(ArrayList<String> arrayList, ArrayList<String> sortList)
{
// Log Message
LogWorker.setLogMsg("INFO", "Check duplicated entries and remove them");
String xLog = LogWorker.getLogMsg();
Gui.setGUILog(xLog); [B]<--wollte dann mit der Set-Function arbeiten [/B]
....
}
}
Ich hoffe ihr versteht mein blödes Problem, welches wahrscheinlich einfach zu lösen ist.
Kurz: Ich muss innherlab der Script Klasse auf die Set-Funktion der Gui zugreifen
Vielen dank im voraus
Zuletzt bearbeitet: