当我打开文件选择器时,如何选择 FileFilter 应该显示的内容?
How can I choose what FileFilter should show when I onpen the filechooser ?
我制作了一个按钮,你可以在其中选择你想要的文件,但我只想制作第一个按钮显示的图像,第二个按钮只显示网页,所以用户不能选择其他按钮,但它不会工作。
JButton btnImage = new JButton("Parcourir");
btnImage.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
JFileChooser openFile = new JFileChooser();
int result = openFile.showOpenDialog(null);
String path= "";
String source ;
if (result == JFileChooser.APPROVE_OPTION) {
openFile.addChoosableFileFilter(new FileNameExtensionFilter("Image Files", "png","GIF", "jpg"));
File selectedFile = openFile.getSelectedFile();
textField_1.setText(selectedFile.getName());
path = selectedFile.getName();
source = "<li><img src=" +path+ "id='nnm' style='width:100%;height:100%;'></li>";
}else {
JOptionPane.showMessageDialog(null, "You have to choose a file ");
}
}
});
btnImage.setVisible(false);
btnImage.setBounds(236, 223, 89, 23);
frame.getContentPane().add(btnImage);
btnPageWeb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
JFileChooser openFile = new JFileChooser();
int result = openFile.showOpenDialog(null);
String path;
String source ;
if (result == JFileChooser.APPROVE_OPTION) {
File selectedFile = openFile.getSelectedFile();
textField_1.setText(selectedFile.getName());
path = selectedFile.getName();
source = "<li><iframe src="+path+"frameborder='0' id='nnm' style= 'width:100%;height:100%;' ></iframe></li>";
}else {
JOptionPane.showMessageDialog(null, "You have to choose a file ");
}
}
});
btnPageWeb.setVisible(false);
btnPageWeb.setBounds(246, 250, 89, 23);
frame.getContentPane().add(btnPageWeb);
这样做:
String[] EXTENSION=new String[]{"jpg", "png", "etc"};
FileNameExtensionFilter filter=new FileNameExtensionFilter("Images",EXTENSION);
您需要在显示对话框之前设置文件过滤器。像这样:
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)
{
// your code here
}
这是从找到的 JFileChooser 文档 here。
您只需在为图像文件创建 JFileChooser 后添加此行
JFileChooser openFile = new JFileChooser();
openFile.setFileFilter(new FileNameExtensionFilter("Image files (*.GIF,*.PNG,*.JPG, *.JPEG)", "GIF","PNG","JPG", "JPEG"));
int result = openFile.showOpenDialog(null);
以及网页
openFile.setFileFilter(new FileNameExtensionFilter(" HTMLDocument (*.HTML)", "HTML"));
祝你好运!
我制作了一个按钮,你可以在其中选择你想要的文件,但我只想制作第一个按钮显示的图像,第二个按钮只显示网页,所以用户不能选择其他按钮,但它不会工作。
JButton btnImage = new JButton("Parcourir");
btnImage.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
JFileChooser openFile = new JFileChooser();
int result = openFile.showOpenDialog(null);
String path= "";
String source ;
if (result == JFileChooser.APPROVE_OPTION) {
openFile.addChoosableFileFilter(new FileNameExtensionFilter("Image Files", "png","GIF", "jpg"));
File selectedFile = openFile.getSelectedFile();
textField_1.setText(selectedFile.getName());
path = selectedFile.getName();
source = "<li><img src=" +path+ "id='nnm' style='width:100%;height:100%;'></li>";
}else {
JOptionPane.showMessageDialog(null, "You have to choose a file ");
}
}
});
btnImage.setVisible(false);
btnImage.setBounds(236, 223, 89, 23);
frame.getContentPane().add(btnImage);
btnPageWeb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
JFileChooser openFile = new JFileChooser();
int result = openFile.showOpenDialog(null);
String path;
String source ;
if (result == JFileChooser.APPROVE_OPTION) {
File selectedFile = openFile.getSelectedFile();
textField_1.setText(selectedFile.getName());
path = selectedFile.getName();
source = "<li><iframe src="+path+"frameborder='0' id='nnm' style= 'width:100%;height:100%;' ></iframe></li>";
}else {
JOptionPane.showMessageDialog(null, "You have to choose a file ");
}
}
});
btnPageWeb.setVisible(false);
btnPageWeb.setBounds(246, 250, 89, 23);
frame.getContentPane().add(btnPageWeb);
这样做:
String[] EXTENSION=new String[]{"jpg", "png", "etc"};
FileNameExtensionFilter filter=new FileNameExtensionFilter("Images",EXTENSION);
您需要在显示对话框之前设置文件过滤器。像这样:
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)
{
// your code here
}
这是从找到的 JFileChooser 文档 here。
您只需在为图像文件创建 JFileChooser 后添加此行
JFileChooser openFile = new JFileChooser();
openFile.setFileFilter(new FileNameExtensionFilter("Image files (*.GIF,*.PNG,*.JPG, *.JPEG)", "GIF","PNG","JPG", "JPEG"));
int result = openFile.showOpenDialog(null);
以及网页
openFile.setFileFilter(new FileNameExtensionFilter(" HTMLDocument (*.HTML)", "HTML"));
祝你好运!