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. Jq_DOM元素方法跟JQuery 核心函数跟JQuery 事件方法

    JQuery DOM 元素 函数                            描述 .get()                           从队列中删除所有未运行的项目. .ind ...

  2. [T-ARA N4/二段横踢][Can We Love]

    歌词来源:http://music.163.com/#/song?id=26310867 Can We Love Can We Love [Can We Love Can We Love] Can W ...

  3. 四则运算coding

    https://coding.net/u/ztf1641429293/p/sizeyunshuan/git/blob/master/Sizenyunsuan.java

  4. 20145221 《Java程序设计》实验报告四:Android开发基础

    20145221 <Java程序设计>实验报告四:Android开发基础 实验要求 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管 ...

  5. <构建之法>第三10、11、12章

    第十章 典型用户和场景 问题:如何更准确知道用户的需求是什么,设计出满足用户的软件? 第十一章 软件设计与实现 问题:软件设计过程中,如何管理设计变更? 第十二章 用户体验 问题:在何时开始设计用户体 ...

  6. 递归拼装Tree结构数据

    @Override public List<Map<String, Object>> queryListTree() { List<Map<String,Objec ...

  7. 在-for 循环里面如何利用ref 操作dom

    由于dom 元素是在渲染之后才能操作,所以如果想取到dom元素,要放到mounted()这个生命周期函数里面,并且还要用this.$nextTick(function () {})

  8. Eclipse——Note

    Eclipse中常用的快捷键 快捷键 功能                                                                            

  9. jetty 之 form too large | form too many keys 异常

    http://www.jsunw.com/?post=34&tdsourcetag=s_pctim_aiomsg https://wiki.eclipse.org/Jetty/Howto/Co ...

  10. 自己写的browse.bat与perl写的url_handler.pl的比较

    以前自己也写过Windows下自动打开多个浏览器测试某个URI,提高浏览器兼容性测试效率. 但是写的browse.bat文件还是最基础简陋的 @echo off if '%1'=='-c' ( sta ...