思想:获取文件选择对话框中“文件名”显示栏的组件,设置组件不可编辑。
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局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程...
☆1.7版:修正了两个文件统计中的Bug,修正了选择文件对话框中一次不能选择太多文件的Bug。 ☆1.6版:新增对汇编文件 .asm 的统计。 ☆1.5版:在1.2版的基础上增加了列表框中对统计记录进行排序和双击文件名直接...
MyExplorer的删除功能是直接删除文件,不会移动到回收站,删除后不可恢复,使用时请注意。使用之前请务必阅读Readme.htm。 作 者 : 史永龙 日 期 : 2008年12月21日 联系方式 : bluecatsyl@sina.com
(2) 读者可以使用文本编辑工具(例如Windows中的记事本)或Java编辑工具来打开和编辑Java源代码文件。 (3) 文件夹图标后的数字编号为章号。例如CH03,为第3章的内容。 (4) 本光盘中,每章均含有打包发布的程序文件和...
28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程...
EditPlus的键盘记录有些类似于 UltraEdit 的宏操作,不过功能相对单一,录制的文件可编辑性较差。 由于基本无法编辑录制的文件,所以录制的时候为了避免录制失败,推荐纯粹使用键盘操作,以下是比较关键的几个键盘...
书名:《Java开发实战1200例(第I卷)》(清华大学出版社.李钟尉,陈丹丹) PDF格式扫描版,全书分为24章,共817页。...实例269 文件选择对话框指定数据库备份文件 342 实例270 指定打开对话框的文件类型 343 ...
MyExplorer的删除功能是直接删除文件,不会移动到回收站,删除后不可恢复,使用时请注意。使用之前请务必阅读Readme.htm。 作 者 : 史永龙 日 期 : 2008年12月21日 联系方式 : bluecatsyl@sina.com
EditPlus 的键盘记录有些类似于 UltraEdit 的宏操作,不过功能相对单一,录制的文件可编辑性较差。 由于基本无法编辑录制的文件,所以录制的时候为了避免录制失败,推荐纯粹使用键盘操作,以下是比较关键的几个键盘...
* 另存为对话框会返回不正确的带长文件名的文件扩展名 * 远程文件备份文件扩展选项不工作 *“监视剪贴板”功能会多次粘贴相同的文本 * '设置目录' 对话框的 '导入/导出' 按钮不起作用 * 如果默认编码选项设置为 ...