思想:获取文件选择对话框中“文件名”显示栏的组件,设置组件不可编辑。
import java.awt.Component;
import java.awt.Color;
import javax.swing.*;
/**
* java文件选择对话框
* 文件名不可编辑
*/
public class JFileChooserUI {
private static JLabel findLabel(JComponent comp, String s) {
JLabel label = null;
if (comp instanceof JLabel) {
if (((JLabel) comp).getText().equals(s)) {
label = (JLabel) comp;
}
} else if (comp instanceof JComponent) {
Component[] comps = comp.getComponents();
for (int i = 0; i < comps.length; i++) {
if (comps[i] instanceof JComponent) {
label = findLabel((JComponent) comps[i], s);
if (label != null) {
break;
}
}
}
}
return label;
}
public static Component getLabelForInChooser(JFileChooser chooser, String key) {
java.util.Locale l = chooser.getLocale();
String s = UIManager.getString(key, l);
javax.swing.plaf.FileChooserUI ui = chooser.getUI();
int count = ui.getAccessibleChildrenCount(chooser);
for (int i = 0; i < count; i++) {
javax.accessibility.Accessible a =
ui.getAccessibleChild(chooser, i);
JLabel label = findLabel((JComponent) a, s);
if (label != null) {
return label.getLabelFor();
}
}
return null;
}
public static void main(String[] args) {
JFileChooser chooser = new JFileChooser("");
Component comp = getLabelForInChooser(chooser, "FileChooser.fileNameLabelText");
if (comp instanceof JTextField) {
JTextField field = ((JTextField) comp);
field.setEditable(false);
// 随意
// field.setBackground(Color.WHITE);
}
chooser.showOpenDialog(null);
}
}
分享到:
相关推荐
在Java编程语言中,文件对话框是用户界面中不可或缺的一部分,它们允许用户与系统进行交互,选择或保存文件。本文将深入探讨如何在Java中创建和使用文件对话框,以及涉及的相关API和技术。 首先,Java提供了两个...
文件保存对话框是计算机用户界面中的一个重要组成部分,它在日常操作中扮演着不可或缺的角色。当用户需要将数据或文件保存到本地磁盘或其他存储介质时,这个对话框就会出现,提供一系列选项和设置来帮助用户指定保存...
1.编写一个文件管理类程序FileManager.java,该类继承java.io.File类,并实现以下功能: 1.1获取指定目录下的文件和目录以及相关属性(文件名,文件或目录,...File1.txt 文件 20K 2012-07-08 不可读 c:\test\File1.txt
- 保存文本文件对话框:允许用户指定保存位置和文件名,选择合适的文本格式,如纯文本、富文本或特定文档格式。 - 编辑模式:根据应用需求,对话框可能连接到文本编辑器,允许用户进行编辑操作。 - 编码选择:...
2. `JFileChooser`实例 (`fc`) 初始化为当前目录("."),然后添加了`MyFilter`作为可选文件过滤器,这样在打开或保存文件时,用户只能看到`.java`文件。 3. 创建了两个按钮,`openButton`用于打开文件,`saveButton...
也可能包含Java或Kotlin代码(如`CustomDialog.java`或`CustomDialog.kt`),用于创建和展示自定义对话框;还可能包含Swift代码,如果是iOS项目的话。 总的来说,自定义对话框是提高应用程序用户体验的重要手段,...
JExcelAPI是一个轻量级的Java库,适用于读写Excel文件,但它不支持较新的.xlsx格式。如果你的项目只需要处理.xls文件,可以考虑使用JExcelAPI。引入依赖如下: ```xml <groupId>...
这个原代码提供了实现文件管理功能的基本框架,包括但不限于文件的创建、删除、重命名、移动和复制等操作。下面将详细介绍这个项目中的关键知识点。 1. **Swing库的使用**: Java文件管理器通常使用Swing库来构建...
通过设置响应头、读取文件流并写入到输出流中,我们可以让客户端浏览器弹出保存对话框,让用户选择保存文件的位置。同时,我们还可以根据请求信息进行特定的浏览器兼容性处理。在处理大量文件下载时,注意优化代码以...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
因此,良好的异常处理机制是必不可少的,可以确保程序在遇到错误时能够优雅地恢复或提供反馈。 9. **文件过滤和排序**: 系统可能需要根据文件类型、大小或时间戳等条件过滤和排序文件。这可以通过自定义...
Java Servlet是一种Java编程语言...通过这个简单的Java Servlet实现,我们可以为用户提供一个安全、可控的文件下载服务。理解这些基本步骤和相关的HTTP概念,将有助于你更好地设计和实现Web应用程序中的文件下载功能。
设置合适的HTTP响应头,如`Content-Type`(根据文件类型设定)、`Content-Disposition`(指示浏览器如何显示文件,如设置为"attachment"可触发下载对话框)和`Content-Length`(文件大小)。 2. **流操作** 使用`...
在分析或修改源码时,可能需要使用到版本控制工具(如Git)、代码编辑器和Android开发环境(如Android Studio),以及熟悉Java或Kotlin等编程语言,因为这些都是Android应用开发的基础工具和语言。同时,理解Android...
在这个场景中,当用户在列表视图中长按某一项时,会触发一个对话框,对话框内通常包含一系列可供选择的操作按钮。这个功能在很多应用中都有应用,比如邮件客户端、文件管理器等,为用户提供删除、编辑、分享等选项。...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
- **文件对话框**:使用JFileChooser类展示文件选择对话框,让用户选择要打开或保存的文件。 4. **菜单栏与快捷键** - **JMenuBar和JMenu**:创建菜单栏和子菜单,提供文件操作、编辑操作等选项。 - **快捷键...
在Java开发过程中,有时我们需要将项目打包成可执行的JAR文件,以便在没有IDE的环境中运行。这里介绍一种方法,通过创建一个BAT批处理文件,使得用户可以通过双击一个简单的命令行脚本来运行Java应用程序。以下是...