关于路径选择对话框
我想用在java应用程序中放置一个路径选择对话框,哪有现成的东西可以用? 问题点数:50、回复次数:2Top
1 楼smallnest(公子小巢)回复于 2002-05-30 17:26:33 得分 25
JFileChooser yours=new JFileChooser();
yours.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
youes.showOpenDialog(parent);
Top
2 楼GJA106(中文字符)回复于 2002-05-30 18:25:34 得分 25
\j2sdk1.4.0\demo\jfc\FileChooserDemo这个例子应该能满足你。
package pGComponent;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import javax.swing.*;
import java.beans.*;
/**
* <p>Title: 多文档</p>
* <p>Description: 测试java多文档的实现</p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/
public class ViewFileChoose extends JFileChooser
{
ImagePreviewer previewer = new ImagePreviewer();
public String c ="name";
public String name = "aaaa";
public ViewFileChoose()
{
super("FileChoose Components");
setAccessoryComponent();
this.showOpenDialog(null);
}
private void setAccessoryComponent()
{
JPanel previewPanel = new JPanel();
previewPanel.setLayout(new BorderLayout());
previewPanel.add(new JLabel("Image Previewer",
SwingConstants.CENTER),
BorderLayout.NORTH);
previewPanel.add(previewer, BorderLayout.CENTER);
previewer.setPreferredSize(new Dimension(200,0));
previewer.setBorder(BorderFactory.createEtchedBorder());
this.setAccessory(previewPanel);//设置打开文件对话框的附属组件
//new ImagePreviewerAccessoryAdapter(this, previewer);;
this.addPropertyChangeListener(new PropertyChangeListener()
{
public void propertyChange(PropertyChangeEvent e)
{
if(e.getPropertyName().equals( JFileChooser.SELECTED_FILE_CHANGED_PROPERTY))
{
previewer.update((File)e.getNewValue());
}
}
});
}
}
class ImagePreviewer extends JComponent
{
private ImageIcon icon;
public void update(File file)
{
Dimension size = getSize();
Insets insets = getInsets();
System.err.println(insets);
icon = new ImageIcon(file.getPath());
icon.setImage(icon.getImage().getScaledInstance(
size.width - insets.left - insets.right,
size.height - insets.top - insets.bottom,
Image.SCALE_SMOOTH));
if(isShowing())
{
repaint();
}
}
public void paintComponent(Graphics g)
{
Insets insets = getInsets();
super.paintComponent(g);
if(icon != null)
icon.paintIcon(this, g, insets.left, insets.top);
}
}
Top




