swing在ubuntu下中文乱码问题
使用swing编写图形界面,可以在windows下和linux(ubuntu)下创建一致的图形界面应用。但是编写swing使用java,需要编译,语法也比较繁琐。
使用groovy的swing支持,可以简化swing开发,可参见:
这里对上面链接中的第一个示例稍作改动:
#!/usr/bin/env groovy
import groovy.swing.SwingBuilder
import java.awt.BorderLayout as BLdef swing = new SwingBuilder()
count = 0
def textlabel
def frame = swing.frame(title:’示例’, size:[300,300]) {
borderLayout()
textlabel = label(text:"请点击按钮", constraints: BL.NORTH)
button(text:’请点击’,
actionPerformed: {count++; textlabel.text = "点击 ${count} 次。"; println "点击"},
constraints:BL.SOUTH)
}
frame.pack()
frame.show()
结果会出现部分中文乱码的情况。
一般这种情况,是字体问题。解决办法,参考了这个帖子:
需要注意的是该帖子的:
sudo cat fallback/fonts.scale > fonts.dir
不能正常执行,报告错误:
bash: fonts.dir: Permission denied
正确的做法,列在这里:
sudo mkdir /usr/lib/jvm/java-6-sun/jre/lib/fonts/fallback/
sudo ln -s /usr/share/fonts/truetype/wqy/*.* /usr/lib/jvm/java-6-sun/jre/lib/fonts/fallback
cd /usr/lib/jvm/java-6-sun/jre/lib/fonts/fallback
sudo mkfontscale
cd ..
sudo sh -c "cat fallback/fonts.scale >> fonts.dir"
运行程序。
这篇文章上的评论的 RSS feed TrackBack URI