首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>其他编程>正文

Linux下java swing问题的解决

http://www.oklinux.cn  2008-07-29  linuxidc   会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

在Linux做java开发的朋友都知道swing在Linux下有些很令人头疼的问题。

第一个问题就是scim输入法和swing的冲突问题导致键盘失效,尤其是开了compiz之后。

对于这个问题网上有很多处理的方法,例如添加环境变量AWT_TOOLKIT=MToolkit,这个方法还是不能解决swing程序中键盘失效的问题。

国外论坛上找到一个很好的解决方法就是:

sudo cp ~/.scim/config /root/.scim/

之后我在netbeans里面从来没有发生过键盘失效的问题

第二个麻烦就是在Ubuntu使用Java来编写Swing应用程序时一个比较大的问题就是不能使用SystemLookAndFeel。

例如运行jconsole的时候会报如下错:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.initSystemColorDefaults(GTKLookAndFeel.java:1267)
at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.loadStyles(GTKLookAndFeel.java:1509)
……

有的人给出不完美的解决方案,就是把语言环境改成英文:

export LANG=en

这样swing应用程序就可以正常运行了,但这样对于使用中文的用户来说就很不方便,界面变成了英文。实际上出现这个问题是因为swing的默认laf采用systemlaf,而Ubuntu里却没有定义这个laf

好的解决方法是在程序启动时传递JVM运行参数 -Dswing.systemlaf=javax.swing.plaf.metal.MetalLookAndFeel

或者在/etc/environment 文件在最后增加上:

_JAVA_OPTIONS="-Dswing.systemlaf=javax.swing.plaf.metal.MetalLookAndFeel"


上一篇:开发者发行版:openSUSE 11.1 Alpha 1   下一篇:我的ARM-Linux初之旅

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·我的ARM-Linux初之旅
·Linux环境下多线程实现同时连接多个蓝牙设备
·编程时慎用“\”为路径分隔符
·Linux中加载动态链接库的三种方法
·Ubuntu free以及Linux内存占用大的解释
·Linux内核模块内存申请与释放
·Linux驱动开发之device与driver关系趣谈
·Linux中vi进行字符替换
·让java程序在Linux后台运行
·清理Linux内核——基于Ubuntu发行版
·Linux手机操作系统开发中 不提倡用多线程
·c 与java(c#)之间对比分析
·新版Linux 2.6.26内核发布 驱动支持更广泛性能更稳定
·Linux中的文件查找命令
·自己动手编译Linux2.6.25.10内核(Fedora 7)
·Linux C 学习备忘
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·我的ARM-Linux初之旅
·Linux环境下多线程实现同时连接多个蓝
·编程时慎用“\”为路径分隔符
·Linux中加载动态链接库的三种方法
·Ubuntu free以及Linux内存占用大的解释
·Linux内核模块内存申请与释放
·Linux驱动开发之device与driver关系趣
·Linux中vi进行字符替换
·让java程序在Linux后台运行
·清理Linux内核——基于Ubuntu发行版
·Linux手机操作系统开发中 不提倡用多线
·c 与java(c#)之间对比分析
  阅读排行
·开源空间 网络安全工具开发函数库Libne
·Linux下Qtopia Core 4.3(QT/E)交叉编译
·Linux编程时获取当前时间实例解析
·Linux socket编程实例:echo服务器程序
·Linux环境下OpenGL编程学习
·升级Redhat Linux 9.0内核有感
·GNU/Linux应用程序编程:用管道进行编
·Linux中断处理学习笔记
·Linux系统中限制用户进程CPU及内存占用
·解决Linux中Matlab中文乱码问题
·Linux下安装g77 fortran complier过程
·Linux环境下Wine的中文显示以及freetyp
·SUSE Linux中安装Quartus 7.2过程笔记
·如何在Ubuntu 7.0上实现C/C++开发环境
·Linux程序设计入门 系统进程的详细介绍
网摘收藏: