Java GUI学习心得

时间:2022-01-23 14:12:26

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