问题标签 [jfilechooser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1846 浏览

java - 从 netbeans 打开现有文件

我在 Netbeans 6.9 中创建了一个应用程序,我的最终目标是创建一个 .tcl 文件(或者文本文件可以)。当我创建 .tcl 文件并将其保存在某个位置后运行我的应用程序时。当我第二次运行时,如果我在我的应用程序中打开该文件,那么我无法获取该文件。我的意思是数据没有附加到文件中,它正在替换文本。我的主要目的是只使用创建的那个文本文件。但是为了在我的应用程序中创建该文件,我有很多选择。任何人都可以建议我应该做什么,这样当我第二次或以后运行我的应用程序时,我之前选择的任何选项(在上一次运行中)都应该存在(选择)并且文本应该附加到该文件而不是的更换。

我没有直接写文本。我在我的应用程序中创建了按钮。如果我单击“新节点”按钮,则会出现一个对话框并询问节点名称。当我单击确定按钮时,会在其中写入一些文本文件,状态显示在创建节点的文本字段(在我的应用程序中)中。我希望当我打开现有文件时,我的所有状态都像“新节点已创建”、“新链接已创建”等。应该在那里。同样在我的链接按钮中,我已经创建了所有节点的名称,因此我希望在打开现有文件时所有这些节点名称都应该出现。

0 投票
2 回答
2605 浏览

java - JFileChooser.showOpenDialog 没有打开,也没有抛出错误?

好的,所以我正在尝试制作一个十六进制编辑器,并且我正在尝试制作一个加载 JMenuItem,但它不起作用。JFileChooser OpenDialog 只是没有显示,也没有显示任何错误。

0 投票
1 回答
1067 浏览

java - 在 JFileChooser 中按下保存按钮会打开一个文件夹而不是保存文件

我在使用 JFileChooser 时遇到以下问题:我创建了一个保存对话框,然后当我尝试保存文件时,我在字段中输入文件名并单击“保存”。假设我尝试将文件保存到的目录包含一个子目录,该子目录的名称与输入的名称完全相同。在这种情况下,JFileChooser 打开它而不是保存我的文件,我不知道如何让它保存文件而不是打开同名的目录。

我尝试使用文件过滤器做一些事情,approveSelection()并将 UI 从 Windows 更改为默认值 - 没有任何帮助。如何让 JFileChooser 停止打开文件夹并保存文件?有什么方法可以修改按钮的行为还是我只是做错了什么?

更新:要明确:我不是要保存同名的文件,我只是想让 JFileChooser 获取路径,以便可以为其附加扩展名。但是,我检查了 Word 和 Photoshop,它们都不能满足我的要求,所以我想我希望一切都变得完美。但是,如果有办法做我想做的事,我仍然很高兴听到解决方案。

0 投票
2 回答
59520 浏览

java - 如何使用 JFileChooser 获取目录路径?

我有一个带有文本字段的小型 java GUI 应用程序。当用户单击文本字段时,将触发一个事件并启动 JFileChooser。它仅限于目录。

我要做的是获取所选目录的完整路径并将其放在文本字段中。

我不知道该怎么做,我搜索了大量的 Java 教程和文档,但找不到答案。有人能帮我吗?

澄清一下:我想获取完整路径作为字符串并将其放在文本字段中,覆盖之前存在的任何内容。

0 投票
3 回答
10471 浏览

java - 使 jfilechooser 显示图像缩略图

我想创建一个JFileChooser带有缩略图的图像文件视图。所以我将 FileView 子类化,并在创建的方法中进行了ImageIcon一些缩放,以便显示缩略图。

但是,总体效果是,filechooser小部件在打开目录并显示缩略图之前需要一些时间。在下面的 createImageIcon() 中,我需要使用图像文件路径调用 new ImageIcon() 两次,然后使用调整后的图像作为构造函数参数。我认为这是减慢小部件的原因。

有没有更有效的选择?欢迎任何建议/指针。

谢谢,标记

0 投票
1 回答
2688 浏览

java - JavaVM Windows 7 64bit - JFileChooser() 不显示对话框

我正在尝试创建一个简单的基于控制台的 java 应用程序,它要求用户从本地文件系统中选择文件。

控制台提示用户选择可用选项之一,然后打开给定的输入。

无论我做什么,JFileChooser 弹出框都不会打开。控制台上未显示任何错误,但调试步骤显示以下错误:

Blockquote Thread [main] (Suspended)
ClassNotFoundException(Throwable).(String, Throwable) 行:217
ClassNotFoundException(Exception).(String, Throwable) 行:不可用 ClassNotFoundException.(String) 行:不可用
URLClassLoader$1.run()行:不可用
AccessController.doPrivileged(PrivilegedExceptionAction, AccessControlContext) 行:不可用 [本机方法]
Launcher$ExtClassLoader(URLClassLoader).findClass(String) 行:不可用
Launcher$ExtClassLoader.findClass(String) 行:不可用
Launcher$ExtClassLoader(ClassLoader).loadClass(String, boolean) 行:不可用 Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) 行:不可用 Launcher$AppClassLoader.loadClass(String, boolean) 行:不可用
Launcher$ AppClassLoader(ClassLoader).loadClass(String) 行:不可用
ResourceBundle$RBClassLoader.loadClass(String) 行:不可用
CoreResourceBundleControl(ResourceBundle$Control).newBundle(String, Locale, String, ClassLoader, boolean) 行:不可用
ResourceBundle。 loadBundle(CacheKey, List, Control, boolean) 行:不可用 ResourceBundle.findBundle(CacheKey, List, List, int, Control, ResourceBundle) 行:不可用
ResourceBundle.getBundleImpl(String, Locale, ClassLoader, ResourceBundle$Control) 行:不可用
ResourceBundle.getBundle(String, ResourceBundle$Control) 行:不可用
Toolkit$3.run() 行:不可用 AccessController.doPrivileged(PrivilegedAction) 行:不可用 [本机方法]
Toolkit.() 行:不可用
Component.() 行:不可用
Client.closefile() 行:90 Client.() 行:60
Client.main(String[]) 行:36

相同的代码在 Linux 32 位机器上完美运行,所以我怀疑问题与 Windows 有关。

下面的代码在 Windows 和 Linux 上都按预期运行,所以我怀疑可能是由于在 Windows 与 Linux (CR LF) 中处理控制台输入的方式不同。

谢谢

0 投票
1 回答
76 浏览

java - 为什么在我的 Java 程序中无法导入文件?

我不确定为什么这段代码不允许我选择一个文件然后扫描它。我该如何调试它?

0 投票
2 回答
2397 浏览

java - 改变 JFileChooser 行为:防止“选择”进入文件路径 JTextField

向 Swing 专业人士问好,这是一个很好的(我希望的)问题。

以下是我看到的任务要求和可能的解决方案。我希望有人有过这样的核心经历来分享一些关于这个的想法。

这不需要编码或类似的东西,我只需要关于哪种方法更可靠的一般建议,因为我需要使用位于 sun.swing 和/或 javax.swing.plaf 包中的私有符号。

任务是修改/更改 JFileChooser 行为(实际上只是一点点)。

  1. 当用户在文件名 JTextField 中按 Enter 键,并且该字段包含一个目录的路径时,不要“选择”该目录,而是切换到它。是的,对话框被配置为接受目录,但我们只需要接受单击“打开”按钮,并且(可能)双击文件列表表。

  2. 防止用户通过在文件名文本字段中按回车来选择具有超过 1GB 数据的目录/文件

这里有几个通用的解决方案选项:

一种。监听 JFileChooser 提供的基于属性的更改(AFAICS 是事后触发的,不会提供我们需要的控制程度)。

湾。修补 javax.swing.plaf.basic.BasicFileChooserUI (通过反射,打破私有级封装)并更改对

以便我们的自定义操作对 1 和 2 进行额外检查。此方法与 plaf 包链接,如果此操作在此 UI 类下面的某个类中以某种方式被覆盖,则可能会失败。

C。遍历 JFileChooser 组件层次结构,找到 JTextField(显然它应该在组件树中只出现一次),用我们的自定义检查装饰挂在该 JTextField 上的所有动作侦听器。我的调试会话显示此 JTextField 是位于 sun.swing.FilePane 中的 JTextField 的某个匿名子类。这种方法似乎对 OO 更友好,但是对于某些操作系统,此文本字段可能不存在,或者层次结构中也存在其他一些 JTextField。

好吧,公共 JFileChooser API 似乎不足以实现这种行为,而其他两个选项要么是深度魔法要么是不可移植的(长期),或者两者兼而有之。

所以,问题是:你会选择哪种方法,为什么?

0 投票
2 回答
5598 浏览

java - 如何以预定义的大小打开 JFileChooser

这行不通。始终以默认大小打开。

0 投票
1 回答
275 浏览

java - JFileChooser 并非返回所有路径

在路径按钮上使用以下方法单击:

但是在这里我选择文件夹 c:\windows\temp 这里 addLogText(chooser.getCurrentDirectory().getAbsolutePath()) 我只记录 c:\windows。为什么临时文件夹被忽略/截断?