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 browsing through the files of the directories. Can I use something else instead of the JFileChooser under Java Swing?
I've tried to use elements of SWT but it didn't work, meaning is the use of the button object and then use it inside the JFrame, but that failed, so I guess SWT and Swing don't mix together?
Here is the example of Java Swing with JFileChooser and I'm looking for something like this to put in my JFrame.
解决方案
JFileChooser with the native PLAF seems to fulfill the stated requirement.
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.