你用awt类库的FileDialog,它就是windows风格的对话框
如果用swing的JFileChoser就是Motif风格的
如果用swing的JFileChoser就是Motif风格的
解决方案 »
- java多线程一般在什么情况下使用
- 基础问题:Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类
- 有一圈数字,求出其连续4个数字和的最大值???
- 【ASK】200分,问几个比较深的问题。谢谢
- 十万火急,碰到一个很麻烦的问题,要不然我这个项目没法完成啦!(100分求大家)
- 将多个文件合并成zip文件的问题!
- 怎么就关不了窗口呢
- 哪位大侠有JExcelAPI或POI什么的,立即给分!!!!!!
- 一个困扰人的问题,JAVA的Swing编程中怎么样确定Mouse光标在当前窗口和整个屏幕的位置,用什么函数呢?谢谢
- 请问如何在Java中访问Mysql数据库_____一段小程序
- 谁能解答一下?
- 客户端如何操作服务器的文件(如查看文件列表,上传,下载)(★)
如果用swing的JFileChoser就是Motif风格的 ----他是可以设风格的
import java.awt.event.*;
import java.beans.*;
import java.io.File;
import javax.swing.*;public class JFileChooserTest extends JFrame
{
JFileChooser chooser = new JFileChooser();
JButton button = new JButton("show file chooser...");
ImagePreviewer previewer = new ImagePreviewer();
PreviewPanel previewPanel = new PreviewPanel();
class PreviewPanel extends JPanel
{
public PreviewPanel()
{
JLabel label = new JLabel("Image Previewer",SwingConstants.CENTER);
setPreferredSize(new Dimension(150,0));
setBorder(BorderFactory.createEtchedBorder());
setLayout(new BorderLayout());
label.setBorder(BorderFactory.createEtchedBorder());
add(label,BorderLayout.NORTH);
add(previewer,BorderLayout.CENTER);
}
}
public JFileChooserTest()
{
Container contentPane = getContentPane();
contentPane.setLayout(new FlowLayout());
contentPane.add(button);
chooser.setAccessory(previewPanel);
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int state = chooser.showOpenDialog(null);
File file = chooser.getSelectedFile();
String s = "CANCELED";
if (file != null && state == JFileChooser.APPROVE_OPTION)
{
s = "File Selected:" + file.getPath();
}
JOptionPane.showMessageDialog(null,s);
}
});
chooser.addPropertyChangeListener(new PropertyChangeListener()
{
public void propertyChange(PropertyChangeEvent e)
{
if (e.getPropertyName().equals(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY))
{
File f = (File) e.getNewValue();
String s = f.getPath(),suffix = null;
int i = s.lastIndexOf('.');
if (i>0 && i<s.length()-1)
{
suffix = s.substring(i+1).toLowerCase();
if (suffix.equals("gif") || suffix.equals("jpg"))
previewer.configure(f);
}
}
}
});
setTitle("Simple File Chooser Application");
setSize(300,300);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main(String[] args)
{
JFrame frame = new JFileChooserTest();
frame.setVisible(true);
}
}
class ImagePreviewer extends JLabel
{
public void configure(File f)
{
Dimension size = getSize();
Insets insets = getInsets();
ImageIcon icon = new ImageIcon(f.getPath());
setIcon(new ImageIcon(icon.getImage().getScaledInstance(size.width-insets.left-insets.right,size.height-insets.top-insets.bottom,Image.SCALE_SMOOTH)));
}
}