`
IThead
  • 浏览: 427922 次
  • 性别: 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中创建和使用文件对话框,以及涉及的相关API和技术。 首先,Java提供了两个...

    文件保存对话框的资源

    文件保存对话框是计算机用户界面中的一个重要组成部分,它在日常操作中扮演着不可或缺的角色。当用户需要将数据或文件保存到本地磁盘或其他存储介质时,这个对话框就会出现,提供一系列选项和设置来帮助用户指定保存...

    文件管理类程序及实验报告

    1.编写一个文件管理类程序FileManager.java,该类继承java.io.File类,并实现以下功能: 1.1获取指定目录下的文件和目录以及相关属性(文件名,文件或目录,...File1.txt 文件 20K 2012-07-08 不可读 c:\test\File1.txt

    完整版图片、文本文件对话框模块.rar

    - 保存文本文件对话框:允许用户指定保存位置和文件名,选择合适的文本格式,如纯文本、富文本或特定文档格式。 - 编辑模式:根据应用需求,对话框可能连接到文本编辑器,允许用户进行编辑操作。 - 编码选择:...

    文件对话框的生成与应用

    2. `JFileChooser`实例 (`fc`) 初始化为当前目录("."),然后添加了`MyFilter`作为可选文件过滤器,这样在打开或保存文件时,用户只能看到`.java`文件。 3. 创建了两个按钮,`openButton`用于打开文件,`saveButton...

    自定义对话框

    也可能包含Java或Kotlin代码(如`CustomDialog.java`或`CustomDialog.kt`),用于创建和展示自定义对话框;还可能包含Swift代码,如果是iOS项目的话。 总的来说,自定义对话框是提高应用程序用户体验的重要手段,...

    java如何读取excel文件

    JExcelAPI是一个轻量级的Java库,适用于读写Excel文件,但它不支持较新的.xlsx格式。如果你的项目只需要处理.xls文件,可以考虑使用JExcelAPI。引入依赖如下: ```xml &lt;groupId&gt;...

    JAVA文件管理器原代码

    这个原代码提供了实现文件管理功能的基本框架,包括但不限于文件的创建、删除、重命名、移动和复制等操作。下面将详细介绍这个项目中的关键知识点。 1. **Swing库的使用**: Java文件管理器通常使用Swing库来构建...

    java httpServletResponse返回流进行 下载 - 姐呵呵博客专栏 - CSDN博客1

    通过设置响应头、读取文件流并写入到输出流中,我们可以让客户端浏览器弹出保存对话框,让用户选择保存文件的位置。同时,我们还可以根据请求信息进行特定的浏览器兼容性处理。在处理大量文件下载时,注意优化代码以...

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

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

    java简单文件管理系统源码.zip

    因此,良好的异常处理机制是必不可少的,可以确保程序在遇到错误时能够优雅地恢复或提供反馈。 9. **文件过滤和排序**: 系统可能需要根据文件类型、大小或时间戳等条件过滤和排序文件。这可以通过自定义...

    java servlet实现文件下载

    Java Servlet是一种Java编程语言...通过这个简单的Java Servlet实现,我们可以为用户提供一个安全、可控的文件下载服务。理解这些基本步骤和相关的HTTP概念,将有助于你更好地设计和实现Web应用程序中的文件下载功能。

    Java文件上传与下载的例子

    设置合适的HTTP响应头,如`Content-Type`(根据文件类型设定)、`Content-Disposition`(指示浏览器如何显示文件,如设置为"attachment"可触发下载对话框)和`Content-Length`(文件大小)。 2. **流操作** 使用`...

    对话框取消修复版101.zip.zip

    在分析或修改源码时,可能需要使用到版本控制工具(如Git)、代码编辑器和Android开发环境(如Android Studio),以及熟悉Java或Kotlin等编程语言,因为这些都是Android应用开发的基础工具和语言。同时,理解Android...

    列表长按,弹出对话框按钮

    在这个场景中,当用户在列表视图中长按某一项时,会触发一个对话框,对话框内通常包含一系列可供选择的操作按钮。这个功能在很多应用中都有应用,比如邮件客户端、文件管理器等,为用户提供删除、编辑、分享等选项。...

    java源码包3

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

    java源码包2

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

    java记事java记事本

    - **文件对话框**:使用JFileChooser类展示文件选择对话框,让用户选择要打开或保存的文件。 4. **菜单栏与快捷键** - **JMenuBar和JMenu**:创建菜单栏和子菜单,提供文件操作、编辑操作等选项。 - **快捷键...

    Java制作bat文件可执行Jar.doc

    在Java开发过程中,有时我们需要将项目打包成可执行的JAR文件,以便在没有IDE的环境中运行。这里介绍一种方法,通过创建一个BAT批处理文件,使得用户可以通过双击一个简单的命令行脚本来运行Java应用程序。以下是...

Global site tag (gtag.js) - Google Analytics