Hallo Forum
Ich baue eine Anwendung und habe ein "kleines Problem" beim Abfangen von Cancel oder Approve Events mittels einer anonymen ActionListener Klasse.
Die Ereignisse werden leider nicht abgefangen bzw. führen nicht zu einem Ziel. Das Ziel war es ersteinmal die geklickte Aktion auf der Kommandozeile auszugeben. Warum passiert das nicht?
Kann mir jemand zeigen, warum das nicht funktioniert?
Danke und Grüße,
Semo
Ich baue eine Anwendung und habe ein "kleines Problem" beim Abfangen von Cancel oder Approve Events mittels einer anonymen ActionListener Klasse.
Die Ereignisse werden leider nicht abgefangen bzw. führen nicht zu einem Ziel. Das Ziel war es ersteinmal die geklickte Aktion auf der Kommandozeile auszugeben. Warum passiert das nicht?
Java:
import java.awt.event.ActionEvent;
import java.io.File;
import javax.swing.AbstractAction;
import javax.swing.JFileChooser;
import javax.swing.JPanel;
import javax.swing.filechooser.FileFilter;
/**
* Chooser ist eine Unterklasse von MyGraphEditor, mit dem im Haupt-Programm die
* Dateidialoge Speichern/Oeffnen aufgerufen werden koennen
*
* @author carino
* @version 1.6.0_20-b02
* @serial 0.2
*
*/
public class Chooser extends JPanel {
private static final long serialVersionUID = -3131792823207644165L;
JFileChooser fO; // Oeffnen
JFileChooser fS; // Schliessen
/*
* Datei Oeffnen Dialog
*/
protected void fileOpener() {
fO = new JFileChooser();
fO.addChoosableFileFilter(new SuffixFilter());
fO.setMultiSelectionEnabled(false);
fO.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
fO.showOpenDialog(Chooser.this);
fO.addActionListener(new AbstractAction() {
private static final long serialVersionUID = 5083023307644533632L;
public void actionPerformed(ActionEvent evt) {
fO = (JFileChooser) evt.getSource();
if (JFileChooser.APPROVE_SELECTION.equals(evt
.getActionCommand())) {
fO.setVisible(false);
System.out.println("Open: OK wurde geklickt");
} else if (JFileChooser.CANCEL_SELECTION.equals(evt
.getActionCommand())) {
fO.setVisible(false);
System.out.println("Open: Abbruch wurde geklickt");
}
}
});
}
/*
* Datei Speichern Dialog
*/
protected void fileSaver() {
fS = new JFileChooser();
fS.addChoosableFileFilter(new SuffixFilter());
fS.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
fS.showSaveDialog(Chooser.this);
fS.addActionListener(new AbstractAction() {
private static final long serialVersionUID = 5083023307644533631L;
public void actionPerformed(ActionEvent evt) {
fS = (JFileChooser) evt.getSource();
if (JFileChooser.APPROVE_SELECTION.equals(evt
.getActionCommand())) {
fS.setVisible(false);
System.out.println("Save: OK wurde geklickt");
} else if (JFileChooser.CANCEL_SELECTION.equals(evt
.getActionCommand())) {
fS.setVisible(false);
System.out.println("Save: Abbruch wurde geklickt");
}
}
});
}
/*
* Innere Klasse SuffixFilter hilft dabei im FileChooser ein bestimmtes
* Format zu filtern
*/
class SuffixFilter extends FileFilter {
public String getDescription() {
return "MyGraphEditor-Datei (*.mge)";
}
public boolean accept(File file) {
if (file.isDirectory())
return true;
else if (file.getName().endsWith("*.mge"))
return true;
else
return false;
}
}
}
Kann mir jemand zeigen, warum das nicht funktioniert?
Danke und Grüße,
Semo