Search the FirstSpirit Knowledge Base
Hallo,
wie lässt sich in FirstSpirit 4.2 ein FileChooser in einem Beanshell-Skript erstellen?
Hintergrund: Die Redakteure sollen eine CSV-Datei auswählen können (CSV-Import).
In FirstSpirit 3.1 ging dies mit:
...
guiHost = ((ScriptContextImpl) context).getHost();
File loadCsvFile(){
chooser = new JFileChooser();
i = chooser.showOpenDialog(guiHost.getParentComponent());
print("i: " + guiHost.getParentComponent());
if(i == JFileChooser.APPROVE_OPTION){
csvFilePath = chooser.getSelectedFile();
csvFile = chooser.getName(chooser.getSelectedFile());
csvExtension = csvFile.substring(csvFile.indexOf("."));
if(csvExtension.equals(".csv")){
print(csvFilePath);
return csvFilePath;
}else {
return null;
}
}
}
updateFile = loadCsvFile();
...
Bisher habe ich es so versucht:
guiHost = context.getGuiHost();
Aber wie muss dann:
i = chooser.showOpenDialog(guiHost.getParentComponent());
aussehen?
guiHost.getParentComponent()
funktioniert nicht mehr?
Vielen Dank.
aber wie muss dann:
i = chooser.showOpenDialog(guiHost.getParentComponent());
Ich denke hier sollte man die Javamittel verwenden.
import
javax.swing.JOptionPane;import java.awt.Frame;
comp = null;
for (final Frame frame : Frame.getFrames()) {
if (frame.isActive()) {
comp = frame;
break;
}
}if (comp == null) {
comp = JOptionPane.getRootFrame()
;
}
i = chooser.showOpenDialog(comp
);
aber wie muss dann:
i = chooser.showOpenDialog(guiHost.getParentComponent());
Ich denke hier sollte man die Javamittel verwenden.
import
javax.swing.JOptionPane;import java.awt.Frame;
comp = null;
for (final Frame frame : Frame.getFrames()) {
if (frame.isActive()) {
comp = frame;
break;
}
}if (comp == null) {
comp = JOptionPane.getRootFrame()
;
}
i = chooser.showOpenDialog(comp
);
Hallo Herr Gockel,
vielen Dank. Damit funktioniert es.
Viele Grüße
M. Weigelt