How to open files in Java Swing without JFileChooser

前端 未结 2 842
别那么骄傲
别那么骄傲 2021-01-14 07:12

I\'m using Java Swing (GUI) and I want to add a button to my project for opening files.

I don\'t like the JFileChooser since it opens a small window for

相关标签:
2条回答
  • 2021-01-14 07:53

    JFileChooser with the native PLAF seems to fulfill the stated requirement.

    Native PLAF file chooser

    import javax.swing.JFileChooser;
    import javax.swing.SwingUtilities;
    import javax.swing.UIManager;
    
    public class NativeFileChooser {
    
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    try {
                        UIManager.setLookAndFeel(
                                UIManager.getSystemLookAndFeelClassName());
                    } catch(Exception e) {
                        e.printStackTrace();
                    }
                    JFileChooser jfc = new JFileChooser();
                    jfc.showOpenDialog(null);
                }
            });
        }
    }
    

    Still not quite to your liking? Then you might start with this one & change it to need:


    ..so I guess SWT and Swing don't mix together?

    It is generally not a good idea to mix Swing/AWT/SWT components in the same top-level container. It is not a problem to open an AWT FileDialog over a Swing based JFrame since they are both top-level containers. I am pretty sure the same would apply to Swing/SWT or AWT/SWT.

    0 讨论(0)
  • 2021-01-14 08:03

    If you do not need the flexibility of the JFileChooser, you can opt for the FileDialog which uses the native OS file dialog. See also Code ranch topic and this answer on SO

    0 讨论(0)
提交回复
热议问题