zoukankan      html  css  js  c++  java
  • Java GUI学习心得

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

  • 相关阅读:
    Kibana详细入门教程
    Python爬取食品商务网蔬菜价格数据,看看蔬菜最近的价格情况
    用Python爬取某蔬菜网的行情,分析底哪个地区的蔬菜便宜
    ES启动失败;java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.c
    ELK 5.0 组件后台启动
    linux中/etc/security/limits.conf配置文件说明
    redis面试常见问题
    单线程的Redis为什么能支持10w+的QPS?
    Redis大Key优化
    redis中查找大key方法汇总
  • 原文地址:https://www.cnblogs.com/liyunzhouts/p/7471490.html
Copyright © 2011-2022 走看看