`
IThead
  • 浏览: 420053 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java文件选择对话框,文件名不可编辑

    博客分类:
  • Java
阅读更多
思想:获取文件选择对话框中“文件名”显示栏的组件,设置组件不可编辑。

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);
    }
}
0
1
分享到:
评论

相关推荐

    java源码包---java 源码 大量 实例

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目源代码

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包4

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包3

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包2

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程...

    智能源码统计专家

    ☆1.7版:修正了两个文件统计中的Bug,修正了选择文件对话框中一次不能选择太多文件的Bug。 ☆1.6版:新增对汇编文件 .asm 的统计。 ☆1.5版:在1.2版的基础上增加了列表框中对统计记录进行排序和双击文件名直接...

    java资源管理器 MyExplorer

    MyExplorer的删除功能是直接删除文件,不会移动到回收站,删除后不可恢复,使用时请注意。使用之前请务必阅读Readme.htm。 作 者 : 史永龙 日 期 : 2008年12月21日 联系方式 : bluecatsyl@sina.com

    Java课程设计案例精编:Java课程设计案例精编.ISO

    (2) 读者可以使用文本编辑工具(例如Windows中的记事本)或Java编辑工具来打开和编辑Java源代码文件。 (3) 文件夹图标后的数字编号为章号。例如CH03,为第3章的内容。 (4) 本光盘中,每章均含有打包发布的程序文件和...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程...

    editplus 代码编辑器html c++ jsp css

    EditPlus的键盘记录有些类似于 UltraEdit 的宏操作,不过功能相对单一,录制的文件可编辑性较差。 由于基本无法编辑录制的文件,所以录制的时候为了避免录制失败,推荐纯粹使用键盘操作,以下是比较关键的几个键盘...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    书名:《Java开发实战1200例(第I卷)》(清华大学出版社.李钟尉,陈丹丹) PDF格式扫描版,全书分为24章,共817页。...实例269 文件选择对话框指定数据库备份文件 342 实例270 指定打开对话框的文件类型 343 ...

    MyExplorer(java资源管理器) 

    MyExplorer的删除功能是直接删除文件,不会移动到回收站,删除后不可恢复,使用时请注意。使用之前请务必阅读Readme.htm。 作 者 : 史永龙 日 期 : 2008年12月21日 联系方式 : bluecatsyl@sina.com

    Editplus 3[1].0

    EditPlus 的键盘记录有些类似于 UltraEdit 的宏操作,不过功能相对单一,录制的文件可编辑性较差。 由于基本无法编辑录制的文件,所以录制的时候为了避免录制失败,推荐纯粹使用键盘操作,以下是比较关键的几个键盘...

    EditPlus 3.31 Build 1129

    * 另存为对话框会返回不正确的带长文件名的文件扩展名 * 远程文件备份文件扩展选项不工作 *“监视剪贴板”功能会多次粘贴相同的文本 * '设置目录' 对话框的 '导入/导出' 按钮不起作用 * 如果默认编码选项设置为 ...

Global site tag (gtag.js) - Google Analytics