alloy界面可以说是我写过的最漂亮的一种JAVA界面。

可惜不知为什么,至从几年前推出1.4版后,就再也没有更新了。

随着java版本的升级,一直很担心alloy有一天不再适用于java的最新版。

现在在java6.0上用alloy,感觉还是很不错的,就是JFileChooser对话框上点右键时,弹出的菜单上的文字都是空白的,让人感觉不舒服。

今天我终于找到了解决的办法:

我首先找到了一个对于JFileChooser来说很关键的类:sun.swing.FilePane

我不明白,为什么要把FilePane放在sun.swing包中。

网上搜索了一下,看到有不少人说这个FilePane类没有的供源代码,可我感觉问题与这个类很有关系。

到网上下载了一个java反编译软件,然后到jdk目录将rt.jar解压缩,用反编译软件FilePane类反编译了一下,在我一行一行的检查之后,终于找到了问题之所在:

FilePane.java

protected void installDefaults()
{
java.util.Locale locale = getFileChooser().getLocale();
listViewBorder = UIManager.getBorder("FileChooser.listViewBorder");
listViewBackground = UIManager.getColor("FileChooser.listViewBackground");
listViewWindowsStyle = UIManager.getBoolean("FileChooser.listViewWindowsStyle");
readOnly = UIManager.getBoolean("FileChooser.readOnly");
viewMenuLabelText = UIManager.getString("FileChooser.viewMenuLabelText", locale);
refreshActionLabelText = UIManager.getString("FileChooser.refreshActionLabelText", locale);
newFolderActionLabelText = UIManager.getString("FileChooser.newFolderActionLabelText", locale);
viewTypeActionNames = new String[2];
viewTypeActionNames[0] = UIManager.getString("FileChooser.listViewActionLabelText", locale);
viewTypeActionNames[1] = UIManager.getString("FileChooser.detailsViewActionLabelText", locale);
kiloByteString = UIManager.getString("FileChooser.fileSizeKiloBytes", locale);
megaByteString = UIManager.getString("FileChooser.fileSizeMegaBytes", locale);
gigaByteString = UIManager.getString("FileChooser.fileSizeGigaBytes", locale);
}

解决办法:

UIManager.put("FileChooser.viewMenuLabelText","视图");
UIManager.put("FileChooser.newFolderActionLabelText","新建文件夹");
UIManager.put("FileChooser.refreshActionLabelText","刷新");
UIManager.put("FileChooser.listViewActionLabelText","列表");  
UIManager.put("FileChooser.detailsViewActionLabelText","详细信息");

2007-10-27

Java:终于找到了在alloy中的JFileChooser中的弹出式菜单不显示文字的解决办法的更多相关文章

  1. HTML中的select下拉框内容显示不全的解决办法

    HTML中的select下拉框内容显示不全的解决办法 今天,我遇到这样一个问题:查询栏中的下拉框中的内容过长,导致部分被覆盖了. 查询了一些资料,有的说用函数控制,有的说用事件控制,有的看不懂,有的实 ...

  2. Windows Server 2008 R2中IIS7.5配置完网站权限不足问题的解决办法:

    Windows Server 2008 R2中IIS7.5配置完网站权限不足问题的解决办法:常见问题:HTTP 错误 500.0 - Internal Server Error无法显示页面,因为发生内 ...

  3. 【转】Android Fragment中使用SurfaceView切换时闪一下黑屏的解决办法

    重构了下之前自己的一个新闻客户端,全部使用了Fragment来进行页面切换,只有一个入口Activity作为程序的启动Activity,其中有一个界面需要调用摄像头识别二维码, 于是就会用到Surfa ...

  4. idea中Entity实体中报错:cannot resolve column/table/...解决办法。

    idea中Entity实体中报错:cannot resolve column/table/...解决办法. 若idea中Entity实体中报错: cannot resolve column.... c ...

  5. myeclipse中svn图标状态不显示问题的解决办法

    myeclipse中svn图标状态不显示问题的解决办法 博客分类: svn SVNMyeclipse工作WindowsC  myeclipse中使用 svn 插件,原本正常,未作任何更改,突然有一天, ...

  6. ASP.NET中引用dll“找不到指定模块"的完美解决办法 z

    DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息.DllImport属性应用于方法,要求最少要 ...

  7. 在IntelliJ IDEA中添加框架支持时找不到Hibernate的解决办法

    问题描述 第一次在Add Frameworks support界面中添加hibernate支持的时候,异常中断,导致没有成功添加. 第二次进入Add Frameworks support窗口时,发现找 ...

  8. wamp中修改后mysq数据库l闪退无法登陆解决办法

    WampServer安装后密码是空的,   修改一般有三种方式:   一是通过phpMyAdmin直接修改:   二是使用WAMP的MySql控制台修改.     三是重置密码    第一种:   1 ...

  9. Android开发之onActivityResult()中的resultCode为0,intent为null的解决办法

    BUG:昨天在使用activity之间传值的时候,遇到了一个bug,该bug为:Activity A启动Activity B,然后在Activity B中取到一个值,并通过back键返回到Activi ...

随机推荐

  1. Matlab入门笔记(1)

    1.简单练习题: cos(((1+2+3+4+5)^3/5)^0.5) sin(pi^0.5)+log(tan(1)) 2^(3.5*1.7) exp(sin(10)) 2.实数,复数,行向量,列向量 ...

  2. 从Stampery到Chronicled,区块链公证业务的实践

    Stampery就是这样一家利用比特币区块链技术代替公证人的创业公司,能为所有的敏感文件提供具有法律约束力的证明.可以用Stampery证明任何文件,它能很好地保护知识产权,证明遗嘱.宣誓.合同.家庭 ...

  3. Eclipse+tomcat+MySQL搭建JavaWeb开发环境

    准备 1.安装JDK并配置环境变量 2.下载Eclipse,Tomcat,MySQL 配置eclipse 解压Eclipse,需要添加Web Tools Platform才能进行web开发 1.启动E ...

  4. shell脚本--文件包含

    首先介绍一下shell中包含文件的方法,在C,C++,PHP中都是用include来包含文件,Go和Java使用import来包含(导入)包,而在shell中,很简单,只需要一个点“.”,然后跟着文件 ...

  5. PHP利用GD库处理图片方法实现

    这里写的是完成每个功能的函数,可以复制单个函数直接使用,这里的每个函数都是另外一篇PHP常用类------图片处理类Image当中的方法进行细化,可以参考一下 废话不多说,直接付代码吧! 添加水印(文 ...

  6. Eclipse Creating a New Runnable JAR File 清理工作空间下的配置文件

    D:\workspacegit\.metadata\.plugins\org.eclipse.debug.core\.launches 相关文件存在这里.

  7. 安裝CentOS7后修復win7引导

    想尝试双系统的心情想必大家都能理解,但是安装了双系统之后的收尾工作也是必不可少的,由于对Linux并不算很熟悉,所以在这方面花了不少时间,这里将CentOS7下修復windows7引导的解决方案记录下 ...

  8. vue 路由传参 params 与 query两种方式的区别

    初学vue的时候,不知道如何在方法中跳转界面并传参,百度过后,了解到两种方式,params 与 query.然后,错误就这么来了:  router文件下index.js里面,是这么定义路由的: { p ...

  9. pandas重新索引

    #重新索引会更改DataFrame的行标签和列标签.重新索引意味着符合数据以匹配特定轴上的一组给定的标签. #可以通过索引来实现多个操作 - #重新排序现有数据以匹配一组新的标签. #在没有标签数据的 ...

  10. sql优化问题笔记(mysql)

    相信大家平时面试都会遇到这个问题:平时你都是怎么对sql进行调优的? 此篇文章相当于一个随便笔记,根据朋友们的聊天记录整理而成,如有不对,请指正! 注意:这篇是以mysql整理的 查看sql计划分析 ...