A
Aimee
Gast
Hallo,
nun habe ich die Suche gequält aber mir ist immer noch nicht klar was ich falsch mache..
Ich minimiere mal meine Anwendung so weit das ich in kurzen Worten beschreiben kann was ich vor habe.
Und zwar habe ich einen Dialog der eine Tabelle mit Kategorien enthält. "Kategorie1, Kategorie2 ..."
Wenn ich auf einen Button namens "starten" drücke dann werden die Kategorien abgearbeitet und dort wo er gerade ist erscheint ein Pfeil neben der Zeile der Kategorie.
Für das aktualisieren des Dialoges verwende ich einen Thread der ungefähr so ausschaut.
Mein Problem ist nun das wenn ich einmal durch bin und noch einmal auf den Button klicke weil ich es noch einmal durch laufen lassen möchte dann bekomme ich folgende Fehlermeldung:
Ich hab zwar eine Menge Ideen aber nichts hilft mir weiter..
Vielen Dank für Anregungen!
:bahnhof:
nun habe ich die Suche gequält aber mir ist immer noch nicht klar was ich falsch mache..
Ich minimiere mal meine Anwendung so weit das ich in kurzen Worten beschreiben kann was ich vor habe.
Und zwar habe ich einen Dialog der eine Tabelle mit Kategorien enthält. "Kategorie1, Kategorie2 ..."
Wenn ich auf einen Button namens "starten" drücke dann werden die Kategorien abgearbeitet und dort wo er gerade ist erscheint ein Pfeil neben der Zeile der Kategorie.
Für das aktualisieren des Dialoges verwende ich einen Thread der ungefähr so ausschaut.
Code:
public Integer startDialog(List array)
{
// Aufruf der GUI
return integer;
}
// in der GUI wird Button "starten" gedrückt und ruft nun Funktionsname() auf:
Main.Funktionsname();
// Start
public static void Funktionsname() {
new Thread()
{
public void run()
{
// Vorarbeit
// l ist Liste der Kategorien
for (int i = 0; i < l.size(); i++)
{
Boolean bool = // Funktion die die Kategorien bearbeitet liefert einen Wert zurück ob es durch lief
if (!bool)
{
break;
}
else
{
// refreshen des Pfeils der an entsprechende Kategorie wandert
}
}
}
}.start();
}
Mein Problem ist nun das wenn ich einmal durch bin und noch einmal auf den Button klicke weil ich es noch einmal durch laufen lassen möchte dann bekomme ich folgende Fehlermeldung:
Exception in thread "Thread-2" org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:3374)
at org.eclipse.swt.SWT.error(SWT.java:3297)
at org.eclipse.swt.SWT.error(SWT.java:3268)
at org.eclipse.swt.widgets.Widget.error(Widget.java:435)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:271)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:262)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:215)
Ich hab zwar eine Menge Ideen aber nichts hilft mir weiter..
Vielen Dank für Anregungen!
:bahnhof: