<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    TWaver - 專(zhuān)注UI技術(shù)

    http://twaver.servasoft.com/
    posts - 171, comments - 191, trackbacks - 0, articles - 2
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    單類(lèi)為了啥:保證實(shí)例唯一;提供全局函數(shù);減少內(nèi)存消耗;…. 也許還有很多很多用途,不過(guò)在Applet的使用中一定要避免UI組件單類(lèi)的設(shè)計(jì)模式:

     

    1、主要原因是如果Applet被重新加載,也就是點(diǎn)擊瀏覽器的刷新按鈕,或者在同一個(gè)瀏覽器下關(guān)閉Applet再打開(kāi)的情況下,新的Applet將以新的Swing toolkit threads對(duì)鍵盤(pán)事件進(jìn)行處理,這樣以前緩存的單UI實(shí)例組件將再也接收不到鍵盤(pán)事件。http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4339842

     

    2、當(dāng)然還有另外一個(gè)問(wèn)題就是Swing的組件只能在一個(gè)容器中呈現(xiàn),無(wú)法讓兩個(gè)容器同時(shí)展示同一個(gè)UI組件,簡(jiǎn)單的理解就是說(shuō)如果你在一個(gè)瀏覽器中新開(kāi)一個(gè)同session的窗口將會(huì)導(dǎo)致只有一個(gè)窗口能顯示單類(lèi)的組件,另一個(gè)的UI組件將會(huì)丟失。

     

     1import java.awt.BorderLayout;
     2import java.awt.GridLayout;
     3
     4import javax.swing.JApplet;
     5import javax.swing.JPanel;
     6import javax.swing.JTextArea;
     7import javax.swing.border.TitledBorder;
     8
     9class SinglePanel extends JPanel{
    10 private final static SinglePanel instance = new SinglePanel();
    11 public static SinglePanel getInstance(){
    12  return instance;
    13 }

    14 private SinglePanel(){
    15  TestApplet.initPanel(this"single panel");
    16 }

    17}

    18
    19class MultiPanel extends JPanel{
    20 public static MultiPanel getInstance(){
    21  return new MultiPanel();
    22 }

    23 public MultiPanel(){
    24  TestApplet.initPanel(this"multi panel");
    25 }

    26}

    27
    28public class TestApplet extends JApplet {
    29
    30    public void init() {
    31     JPanel contentPane = new JPanel(new GridLayout(21));
    32     contentPane.add(SinglePanel.getInstance());
    33     contentPane.add(MultiPanel.getInstance());
    34     this.setContentPane(contentPane);
    35    }

    36
    37 public static void initPanel(JPanel panel, String title){
    38  panel.setLayout(new BorderLayout());
    39  panel.setBorder(new TitledBorder(title));
    40  panel.add(new JTextArea(), BorderLayout.CENTER);
    41 }

    42}

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲一区二区高清| 亚洲AV无码乱码在线观看代蜜桃| 亚洲综合网站色欲色欲| 亚洲精品免费观看| 亚洲国产精华液2020| 在线观看人成视频免费| 激情婷婷成人亚洲综合| 久久国产精品萌白酱免费| 亚洲成av人片天堂网| 99在线免费观看视频| 亚洲三级在线视频| 国产一区视频在线免费观看| 免费一级毛suv好看的国产网站| 亚洲av无码成人精品区| 青青操免费在线观看| 国产一级一片免费播放i| 成人免费观看男女羞羞视频| 国产亚洲精品免费视频播放 | 色噜噜亚洲男人的天堂| 成年人网站在线免费观看| 久久亚洲精品成人| 99精品视频在线视频免费观看 | 久久精品亚洲视频| 国产又黄又爽又猛免费app| 成人精品国产亚洲欧洲| 中文字幕亚洲日韩无线码| 99久在线国内在线播放免费观看| 亚洲妇女水蜜桃av网网站| 国产婷婷高清在线观看免费| 99视频在线观看免费| 亚洲AV无码专区在线亚| 亚洲午夜精品一级在线播放放| 久久精品免费电影| 亚洲国产无线乱码在线观看 | 999久久久免费精品播放| 亚洲人成色77777在线观看| 久久精品国产亚洲5555| 99无码人妻一区二区三区免费| 久久精品亚洲综合| 国产精品国产午夜免费福利看 | 亚洲国产av玩弄放荡人妇|