Hallo zusammen,
Ich habe in einer Klasse 2 Methoden, in denen jeweils eine JOptionPane() angezeigt werden soll.
Die 1. Methode wird direkt beim Start der Klasse aufgerufen, die 2. über einen JButton.
In der 1. Methode wird JOptionPane angezeigt, beim Aufruf der 2. Methode nicht!
Entferne ich den Aufruf der 1. Methode aus dem Constructor, wird in der 2. Methode der Dialog korrekt angezeigt. (Also ist der Constructor von JOptionPane ok!)
Wo liegt der Fehler??
Danke für die Hilfe im Vorraus!
Code:
Ich habe in einer Klasse 2 Methoden, in denen jeweils eine JOptionPane() angezeigt werden soll.
Die 1. Methode wird direkt beim Start der Klasse aufgerufen, die 2. über einen JButton.
In der 1. Methode wird JOptionPane angezeigt, beim Aufruf der 2. Methode nicht!
Entferne ich den Aufruf der 1. Methode aus dem Constructor, wird in der 2. Methode der Dialog korrekt angezeigt. (Also ist der Constructor von JOptionPane ok!)
Wo liegt der Fehler??
Danke für die Hilfe im Vorraus!
Code:
Java:
public class MyClass extends JFrame{
public MyClass(){
checkTransferFilesOffline();
}
// 1. Methode
private void checkTransferFilesOffline(){
//Verzeichnis nach Dateien durchsuchen
File transferFiles = new File("myDir");
File[] files = transferFiles.listFiles();
int fileCount = files.length;
if(fileCount > 0){
int choice = JOptionPane.showConfirmDialog(...Parameter....);
//Der Dialog wird richtig angezeigt!!!
.....
}
}
// 2. Methode über JButton aufgerufen
private void transferFiles(){
//wie in Methode 1 werden Dateien gezählt
........
if(fileCount > 0){
int choice = JOptionPane.showConfirmDialog(...Parameter....);
if(choice == JOptionPane.NO_OPTION){
return;
}
//Wenn nun diese Methode nach der 1. aufgerufen wird, so wird der Dailog nicht
//angezeigt!!! int choice enthält sofort JOptionPane.YES_OPTION (-1)!
// Wo ist der (Denk)Fehler??
}
}
}
Zuletzt bearbeitet von einem Moderator: