System File Chooser: support filename extension filters

This commit is contained in:
Karl Tauber
2025-01-08 15:14:50 +01:00
parent 251198c66d
commit c73fd51704
6 changed files with 363 additions and 50 deletions

View File

@@ -175,11 +175,21 @@ class DemoFrame
private void openSystemActionPerformed() {
SystemFileChooser chooser = new SystemFileChooser();
chooser.addChoosableFileFilter( new SystemFileChooser.FileNameExtensionFilter(
"Text Files", "txt", "md" ) );
chooser.addChoosableFileFilter( new SystemFileChooser.FileNameExtensionFilter(
"PDF Files", "pdf" ) );
chooser.addChoosableFileFilter( new SystemFileChooser.FileNameExtensionFilter(
"Archives", "zip", "tar", "jar", "7z" ) );
chooser.showOpenDialog( this );
}
private void saveAsSystemActionPerformed() {
SystemFileChooser chooser = new SystemFileChooser();
chooser.addChoosableFileFilter( new SystemFileChooser.FileNameExtensionFilter(
"Text Files", "txt", "md" ) );
chooser.addChoosableFileFilter( new SystemFileChooser.FileNameExtensionFilter(
"Images", "png", "gif", "jpg" ) );
chooser.showSaveDialog( this );
}
@@ -611,11 +621,13 @@ class DemoFrame
//---- openSystemMenuItem ----
openSystemMenuItem.setText("Open (System)...");
openSystemMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()|KeyEvent.SHIFT_DOWN_MASK));
openSystemMenuItem.addActionListener(e -> openSystemActionPerformed());
fileMenu.add(openSystemMenuItem);
//---- saveAsSystemMenuItem ----
saveAsSystemMenuItem.setText("Save As (System)...");
saveAsSystemMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()|KeyEvent.SHIFT_DOWN_MASK));
saveAsSystemMenuItem.addActionListener(e -> saveAsSystemActionPerformed());
fileMenu.add(saveAsSystemMenuItem);
fileMenu.addSeparator();

View File

@@ -188,11 +188,13 @@ new FormModel {
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "openSystemMenuItem"
"text": "Open (System)..."
"accelerator": static javax.swing.KeyStroke getKeyStroke( 79, 4291, false )
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "openSystemActionPerformed", false ) )
} )
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "saveAsSystemMenuItem"
"text": "Save As (System)..."
"accelerator": static javax.swing.KeyStroke getKeyStroke( 83, 4291, false )
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "saveAsSystemActionPerformed", false ) )
} )
add( new FormComponent( "javax.swing.JPopupMenu$Separator" ) {