Java GUI学习心得

时间:2023-12-21 10:23:08

虽然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即可。