虽然GUI的应用已经不是特别广泛了,但是如果了解一点,可以做些自己想要的工具,最近做了一个工具(是什么就不提了),当然碰到很多的问题,都一一解决了,现在分享出来。
1.关于窗体面板的显示问题
可能会遇到这样的情况,就是窗体不显示面板上的组件,但是鼠标稍微拖缀下窗体,就显示了,为什么?
可以把面板的加载放在最后,即可,为什么,我也没搞清楚。如下:
jf.setContentPane(pe);
jf.setVisible(true);
2.label组件是支持html的,所以可以有如下的语法:
JLabel label2 = new JLabel("<html><font size=5 face='Lucida calligraphy' color='0099ff'>"
+ "Let life be beautiful like summer flowers ,and death like autumn leaves "+ "</font></html>");
3.其实窗体的菜单也是有监听事件的,MenuListener,具体用法如其他监听事件一样。
4.比较耗费事件的任务可以使用SwingWorker来达到多线程的目的,如我在任务间歇需要更新进度条,这样主类可以继承Thread,耗时任务放在SwingWorker类实现即可。
5.GUI播放音乐
简单的可以用下面实现
AudioClip clip=null;
try {
clip = Applet.newAudioClip(new File(checkedMusic)
.toURI().toURL());
clip.play();
} catch (Exception ee) {
ee.printStackTrace();
}
但是要注意的是,java支持的格式不是特别多,比如wav,需要专门将歌曲转为wav,不是将后缀简单的改为wav,可以使用酷狗的格式转换工具,需要下载无损音乐(有些高品质也行),转为wav即可。