G
Gast2
Gast
Hall zusammen,
ich hab mal wieder ein Problem mit SwingUtilities.invokeLater und versteh es nicht so ganz.Erstmal die Helper Klasse welche benutzt wird.
[HIGHLIGHT="Java"]
public class ErrorHelper {
public static void showError(Component owner, String titleKey, Exception exception) {
Window window;
if (owner != null) {
window = SwingUtilities.getWindowAncestor(owner);
owner = window != null ? window : owner;
}
JXErrorPane.showDialog(owner, createErrorInfo(titleKey, exception));
}
public static void showError(Component owner, Exception exception) {
showError(owner, "errordialog.title", exception);
}
[/HIGHLIGHT]
Also wenn ich folgenden Code ausführe wir der Fehlerdialog nur einmal geöffnet und das Error auch nur einmal auf der Konsole ausgegben
[HIGHLIGHT="Java"]
public void actionPerfomed(ActionEvent e){
try {
//some stuff
} catch (final Exception e) {
System.out.println("Error");
SwingUtilities.invokeLater(new Runnable(){
public void run() {
ErrorHelper.showError(errorReferenceComponent, e);
}
});
}
}
[/HIGHLIGHT]
bei diesem code hingegen wird der fehlerdialog 2 mal angezeigt genauso das error auf der konsole...
[HIGHLIGHT="Java"]
public void actionPerfomed(ActionEvent e){
try {
//some stuff
} catch (final Exception e) {
System.out.println("Error");
ErrorHelper.showError(errorReferenceComponent, e);
}
}
[/HIGHLIGHT]
Kann mir jemand erklären warum???;(
ich hab mal wieder ein Problem mit SwingUtilities.invokeLater und versteh es nicht so ganz.Erstmal die Helper Klasse welche benutzt wird.
[HIGHLIGHT="Java"]
public class ErrorHelper {
public static void showError(Component owner, String titleKey, Exception exception) {
Window window;
if (owner != null) {
window = SwingUtilities.getWindowAncestor(owner);
owner = window != null ? window : owner;
}
JXErrorPane.showDialog(owner, createErrorInfo(titleKey, exception));
}
public static void showError(Component owner, Exception exception) {
showError(owner, "errordialog.title", exception);
}
[/HIGHLIGHT]
Also wenn ich folgenden Code ausführe wir der Fehlerdialog nur einmal geöffnet und das Error auch nur einmal auf der Konsole ausgegben
[HIGHLIGHT="Java"]
public void actionPerfomed(ActionEvent e){
try {
//some stuff
} catch (final Exception e) {
System.out.println("Error");
SwingUtilities.invokeLater(new Runnable(){
public void run() {
ErrorHelper.showError(errorReferenceComponent, e);
}
});
}
}
[/HIGHLIGHT]
bei diesem code hingegen wird der fehlerdialog 2 mal angezeigt genauso das error auf der konsole...
[HIGHLIGHT="Java"]
public void actionPerfomed(ActionEvent e){
try {
//some stuff
} catch (final Exception e) {
System.out.println("Error");
ErrorHelper.showError(errorReferenceComponent, e);
}
}
[/HIGHLIGHT]
Kann mir jemand erklären warum???;(