我想在FileChooser中包含一个额外的(可选的)JTextField,允许用户在选择文件时填写它,而不是在他们做出选择后给他们一个额外的提示.有没有人尝试过类似的东西并找到了有效的解决方案?
我的目标结果看起来像这样:

我们如何设置JFileChooser窗口的位置,我试过setLocation()和setBounds() 方法,但它不起作用.
我正在用java创建一个文件夹和文件树.Windows和OSX使用以下代码返回系统图标和名称:
new JFileChooser().getIcon(File f);
new JFileChooser().getName(File f);
Run Code Online (Sandbox Code Playgroud)
是否有可能获得unix系统的图标和名称?系统命令也可以.
谢谢.
我想创建一个JFileChooser带缩略图的图像文件.所以我将FileView子类化,并在创建的方法中ImageIcon做了一些缩放,以显示缩略图.
但是,整体效果是,filechooser窗口小部件在打开目录并显示缩略图之前需要一些时间.在下面的createImageIcon()中,我需要使用图像文件路径两次调用新的ImageIcon(),然后调整大小的图像作为构造函数参数.我认为这是减慢小部件的速度.
有没有更有效的替代方案?任何建议/指针都是最受欢迎的.
谢谢,马克
public static void main(String[] args) {
JFileChooser chooser=new JFileChooser();
ThumbNailView thumbView=new ThumbNailView();
chooser.setFileView(thumbView);
}
class ThumbNailView extends FileView{
public Icon getIcon(File f){
Icon icon=null;
if(isImageFile(f.getPath())){
icon=createImageIcon(f.getPath(),null);
}
return icon;
}
private ImageIcon createImageIcon(String path,String description) {
if (path != null) {
ImageIcon icon=new ImageIcon(path);
Image img = icon.getImage() ;
Image newimg = img.getScaledInstance( 16, 16, java.awt.Image.SCALE_SMOOTH ) ;
return new ImageIcon(newimg);
} else {
System.err.println("Couldn't find file: " + path); …Run Code Online (Sandbox Code Playgroud) 这是对Clojure和Java的初学者的持续爬行.我有这个代码来选择一个文件,但我想过滤我正在寻找的文件扩展名.
(import javax.swing.JFileChooser)
(defn tlt-get-file [ ]
(let [ filechooser (JFileChooser. "C:/")
retval (.showOpenDialog filechooser nil) ]
(if (= retval JFileChooser/APPROVE_OPTION)
(do
(println (.getSelectedFile filechooser))
(.getSelectedFile filechooser))
"")))
Run Code Online (Sandbox Code Playgroud)
你的帮助总是非常感谢.
作为一个小小的项目,我认为制作文本编辑器会很酷.我目前只是打开文件了.这是我打开文件的代码(e是ActionEvent,open是a JMenuItem):
else if (e.getSource() == open) {
JFileChooser choice = new JFileChooser();
int option = choice.showOpenDialog(this);
if (option == JFileChooser.APPROVE_OPTION) {
try{
Scanner scan = new Scanner(new FileReader((open).getSelectedFile().getPath()));
}
}
}
Run Code Online (Sandbox Code Playgroud)
试块给了我麻烦.Eclipse说的getSelectedFile()是类型未定义JMenuItem.对于MenuItems来说,它似乎也是未定义的.有没有其他方法可以解决这个问题,还是另一种方法可以解决这个问题?
我需要向用户或我的应用程序提供一个对话框,其中指向特定文件,因此最简单的选择是使用JFileChooser.
但是,需要选择的文件位于Windows网络驱动器/共享上,但它映射到运行我的应用程序的主机上的驱动器.网络共享IS密码和JFileChooser确实在其dialoge中显示驱动器,但是在我使用其他程序(例如Windows资源管理器)查看要求输入密码的网络共享之前,它无法浏览驱动器.
JFileChooser是否可以请求用户输入密码?JFileChooser是否从系统收到需要密码/身份验证的通知?在这里使用Sun示例,它只是默默地失败,这不是我想要发生的事情.我希望提示用户输入密码.我可以这样做吗?
我想Untitled.txt在文本框中设置默认文件名JFileChooser.我可以设置吗?
如何显示文件的默认系统图标JFileChooser?即文件的图标JFileChooser应该与桌面和资源管理器上显示的图标相同?
例如,NetBeans图标JFileChooser与桌面上显示的图标不同!
这该怎么做?
任何想法如何使Java Swing文件选择器在2K显示器上看起来更好看,其中Windows字体缩放比例> 125%?
我正在使用普通代码,例如:
JFileChooser fc = new JFileChooser();
if (settings.currentdir != null)
fc.setCurrentDirectory(new File(settings.currentdir));
int returnVal = fc.showOpenDialog((Window) holder);
if (returnVal == JFileChooser.APPROVE_OPTION) {
Run Code Online (Sandbox Code Playgroud)
但文件选择器仅显示列出的文件和目录的微小图标.我正在使用JDK 8.出了什么问题?
PS:问题的范围只是Windows,而不是Unix.在Windows上,两个默认的L&F,它们缩放字体.但他们不会缩放图标.应用程序必须这样做,因为它可能会使用不同的位图资源来实现更高的比例.似乎JFileChooser没有以这种方式编码.
但可能会指示JFileChooser这样做.我没有看到另一个问题涉及图标大小和Windows上的JFileChooser:如何在Windows/Linux上设置Java Swing应用程序的DPI?另一个问题涉及字体大小,这对于Windows上的JFileChooser而言不是两个Windows L&F中的一个问题.
java ×10
jfilechooser ×10
swing ×8
clojure ×1
file ×1
file-io ×1
linux ×1
shell-icons ×1
thumbnails ×1
windows ×1