我有这个程序你可以下载文件,我希望JFileChooser被锁定到一个文件夹(目录),以便用户无法浏览其他任何内容.他只能从文件夹"C:\ Users\Thomas\Dropbox\Prosjekt RMI\SERVER \"中选择文件.我试过这么搜索但没找到任何东西.我的代码是:
String getProperty = System.getProperty("user.home");
JFileChooser chooser = new JFileChooser(getProperty + "/Dropbox/Prosjekt RMI/SERVER/"); //opens in the directory "//C:/Users/Thomas/Dropbox/Project RMI/SERVER/"
int returnVal = chooser.showOpenDialog(parent);
if (returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " + chooser.getSelectedFile().getName());
Run Code Online (Sandbox Code Playgroud)
这工作正常,但现在我可以转到Project RMI文件夹,我不希望它这样做.
提前致谢 :)
编辑:我在你的帮助下做了什么:
JFileChooser chooser = new JFileChooser(getProperty + "/Dropbox/Project RMI/SERVER/");
chooser.setFileView(new FileView() {
@Override
public Boolean isTraversable(File f) {
return (f.isDirectory() && f.getName().equals("SERVER"));
}
});
int returnVal = chooser.showOpenDialog(parent);
if (returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to …Run Code Online (Sandbox Code Playgroud) 我正在JFileChooser上构建一个JFileFilter,但是在我有代码setFileFilter并且我的IDE提供信息时出现错误'JFileChooser类型中的方法setFileFilter(FileFilter)不适用于参数(new FileFilter(){}) ".不过我确信我之前已经用这种格式完成了它并且一切都很好.任何人都可以帮我找到并理解为什么这不起作用?谢谢!
JFileChooser chooser = new JFileChooser();
chooser.setDialogTitle("Open File");
chooser.setFileFilter(new FileFilter(){
@Override
public boolean accept(File f) {
String fName = f.getName().toUpperCase();
if (fName.endsWith(".TXT") || f.isDirectory()) {
return true;
} else {
return false;
}
}
public String getDescription() {
return "Text File (*.txt)";
}
});
Run Code Online (Sandbox Code Playgroud) 我一直在javax.swing中阅读JFileChooser.*我知道showOpenDialog()方法将允许我选择一个文件并单击"选择"但我有一个特定的方式我希望它工作.
我想使用两个JFileChooser(可能在JPanel中并排)来选择TO和FROM路径,然后单击一个按钮,该按钮将从'Chooser'中获取用户输入并执行某些操作.
也许有人有一个像这样做一个JFileChooser的例子?基本上只是突出显示选择器中的文件/目录,然后单击某个OTHER按钮以从"选择器"(也是JFileChoosers按钮(取消和选择)中获取输入被隐藏).
很可能这个"其他"按钮只是代码的信号,以从JFileChooser对象获取值.
我希望自己是Swing的新手,还有另一个我失踪的课程可以做我所描述的课程,但它只是没有出现在谷歌搜索中我一直在制作.
我扩展JFileChooser并覆盖了该approveSelection方法,以便当用户选择无效目录然后单击"打开"按钮时,JOptionPane将显示一条错误消息.但是我希望让JFileChooser用户更友好,并在用户单击无效目录时禁用"打开"按钮,然后在用户单击有效目录时重新启用.是否可以进一步自定义JFileChooser并访问"打开"按钮,以便我可以相应地更改按钮的状态(可能通过侦听目录选择的侦听器)?
public class MyFileChooser extends JFileChooser {
private final JFrame mainFrame;
public MyFileChooser(JFrame mainFrame) {
this.mainFrame = mainFrame;
setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
}
@Override
public void approveSelection() {
if (/* directory is valid */) {
super.approveSelection();
return;
}
JOptionPane.showMessageDialog(mainFrame, "Invalid directory", "Error", JOptionPane.ERROR_MESSAGE);
}
}
Run Code Online (Sandbox Code Playgroud) 我有几个提供文件选择器的对话框。首先,我的编码是这样的
JFileChooser chooser= new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal= chooser.showOpenDialog(this);
if(returnVal==JFileChooser.APPROVE_OPTION){
File f= chooser.getSelectedFile();
jTextField1.setText(f.getPath());
chooser.setCurrentDirectory(f);
}
Run Code Online (Sandbox Code Playgroud)
就我而言,我想设置在下一个选择 JFileChooser 中选择作为默认路径的最后一个路径。对我来说有什么解决办法吗?感谢您的任何回复
在Java中,我想使用来以其自己的格式加载文件(无论格式如何)JFileChooser。表示我不想阅读和显示我的内部内容JFrame。相反,我希望它们像单击Windows Photo Viewer / Irfan Viewer中打开的图像和Adobe Reader中通过单击按钮打开的PDF一样打开/加载。
我搜了很多。但是,我阅读的所有教程都讲述了如何通过单击来打印“打开此文件/已选择此文件”行JButton。实际上,没有人在单击按钮时打开/加载文件。可能是因为我是Java新手,所以我没有正确理解他们所说的话。希望我的问题很清楚,请帮忙...
这是我从教程页面获得的代码:
public class JFileChooserTest {
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("JComboBox Test");
frame.setLayout(new FlowLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button = new JButton("Select File");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
JFileChooser fileChooser = new JFileChooser();
int returnValue = fileChooser.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
System.out.println(selectedFile.getName());
}
}
});
frame.add(button);
frame.pack();
frame.setVisible(true);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我要使用Java进行的操作。这是Windows的示例:
单击浏览按钮可打开此窗口

当我选择XLS文件并单击OPEN按钮时,XLS文件将打开。我想用Java做完全一样的事情。希望现在更加清楚。
如何将JFileChooser标签“查找于:”更改为“保存于:”(不是标题)?在这里你可以看到我想要改变的内容:

我正在尝试使用JFileChooser来选择具有此名称格式的文件:LS48*.drv.同时我想限制用户只查看一个特定的目录,比如c:\ data.所以我不希望用户能够更改目录或其他驱动器名称.我的代码段的基础可以请你提供一些提示:
m_fileChooser = new JFileChooser("c:\\data"); // looking for LS48*.drv files
m_fileChooser.setFileFilter(new FileNameExtensionFilter("drivers(*.drv, *.DRV)", "drv", "DRV"));
Run Code Online (Sandbox Code Playgroud) 我在使用JFileChooser时遇到了一些麻烦.每当我运行程序时,如果我立即单击"取消"按钮而不选择文件,它将显示"你好",如果我点击打开,它将不会做任何事情.另一方面,如果我选择一个文件并单击打开它将开始显示"Hello"(调用createFile方法),如果单击"取消",将显示"hello".
我的问题是如何找出单击了哪个按钮并为每个按钮执行特定操作,如单击取消时调用die函数并在单击打开时调用createFile函数.
我在想类似的东西
if(e.getSource() == "Something_I_Dont_know") { do this}
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Grading{
public static void main(String[] arg){
new MFrame();
}
}// end of class Grading
class MFrame extends JFrame{
private JCheckBox cum,uc,ucs;
private JButton calc, clear, exit;
private ButtonGroup bg;
private JTextArea display;
private JFileChooser input;
public MFrame(){
setVisible( true );
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(550,550);
input = new JFileChooser();
add( input );
input.addActionListener(
new ActionListener(){
public void actionPerformed( ActionEvent e ){
//die();
createFile(); …Run Code Online (Sandbox Code Playgroud)