当然可以。利用javax.swing.JFileChooser类,如: JFileChooser chooser = new JFileChooser(); FileNameExtensionFilter filter = new FileNameExtensionFilter( "JPG & GIF Images", "jpg", "gif"); chooser.setFileFilter(filter); int returnVal = chooser.showOpenDialog(parent); if(returnVal == JFileChooser.APPROVE_OPTION) { System.out.println("You chose to open this file: " + chooser.getSelectedFile().getName()); }
楼主可以参考下corejava里的一个范例import java.awt.EventQueue; import java.awt.event.*; import java.io.*; import javax.swing.*;/* A program for viewing images * @author Cay Horstmann */ public class ImageViewer { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { JFrame frame = new ImageViewerFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }); } } /* * A Frame with a label to show an image. */ class ImageViewerFrame extends JFrame {
public ImageViewerFrame() { setTitle("ImageViewer"); setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
//use a label to display the images label = new JLabel(); add(label); //set up the file chooser chooser = new JFileChooser(); chooser.setCurrentDirectory(new File("."));
//set up the menu bar JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar);
JMenu menu = new JMenu("File"); menuBar.add(menu);
JMenuItem openItem = new JMenuItem("open"); menu.add(openItem); openItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //show file chooser dialog int result = chooser.showOpenDialog(null); //if file selected,set it as icon of the label if(result == JFileChooser.APPROVE_OPTION) { String name = chooser.getSelectedFile().getPath(); label.setIcon(new ImageIcon(name)); } } }); JMenuItem exitItem = new JMenuItem("Exit"); menu.add(exitItem); exitItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0);
}
}); } private JLabel label; private JFileChooser chooser; private static final int DEFAULT_WIDTH = 300; private static final int DEFAULT_HEIGHT = 300; }
要加挂看起来就像是图象化设计
或是用netbeans对界面设计支持较好
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"JPG & GIF Images", "jpg", "gif");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(parent);
if(returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " +
chooser.getSelectedFile().getName());
}
import java.awt.event.*;
import java.io.*;
import javax.swing.*;/* A program for viewing images
* @author Cay Horstmann
*/
public class ImageViewer { public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame frame = new ImageViewerFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
/*
* A Frame with a label to show an image.
*/
class ImageViewerFrame extends JFrame {
public ImageViewerFrame() {
setTitle("ImageViewer");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
//use a label to display the images
label = new JLabel();
add(label);
//set up the file chooser
chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
//set up the menu bar
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu menu = new JMenu("File");
menuBar.add(menu);
JMenuItem openItem = new JMenuItem("open");
menu.add(openItem);
openItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//show file chooser dialog
int result = chooser.showOpenDialog(null);
//if file selected,set it as icon of the label
if(result == JFileChooser.APPROVE_OPTION) {
String name = chooser.getSelectedFile().getPath();
label.setIcon(new ImageIcon(name));
}
}
});
JMenuItem exitItem = new JMenuItem("Exit");
menu.add(exitItem);
exitItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
private JLabel label;
private JFileChooser chooser;
private static final int DEFAULT_WIDTH = 300;
private static final int DEFAULT_HEIGHT = 300;
}