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

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

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

    TWaver - 專注UI技術

    http://twaver.servasoft.com/
    posts - 171, comments - 191, trackbacks - 0, articles - 2
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Applet中避免單類模式使用UI組件

    Posted on 2010-08-29 09:14 TWaver 閱讀(1248) 評論(0)  編輯  收藏
    單類為了啥:保證實例唯一;提供全局函數;減少內存消耗;…. 也許還有很多很多用途,不過在Applet的使用中一定要避免UI組件單類的設計模式:

     

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

     

    2、當然還有另外一個問題就是Swing的組件只能在一個容器中呈現,無法讓兩個容器同時展示同一個UI組件,簡單的理解就是說如果你在一個瀏覽器中新開一個同session的窗口將會導致只有一個窗口能顯示單類的組件,另一個的UI組件將會丟失。

     

     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}

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲人成伊人成综合网久久久| 国产在线ts人妖免费视频| 久久精品国产96精品亚洲| 久久国产免费直播| 亚洲精品成人片在线观看精品字幕 | 免费观看无遮挡www的小视频| 亚洲高清中文字幕综合网| 国产92成人精品视频免费| 色老板亚洲视频免在线观| 毛片免费观看的视频| 亚洲国产区男人本色| 亚洲精品和日本精品| 永久免费av无码网站yy| 亚洲视频免费在线看| 久久久久久国产精品免费免费| 亚洲色大成网站www久久九| 国产免费牲交视频| 日韩精品无码免费专区午夜 | 亚洲爆乳精品无码一区二区三区| 高清永久免费观看| 老汉色老汉首页a亚洲| 亚洲人成电影网站免费| 亚洲gay片在线gv网站| 亚洲中文字幕无码一区| 99久热只有精品视频免费看| 亚洲国产精品综合久久20| 免费一级毛片免费播放| 中文字幕无码免费久久9一区9| 亚洲综合婷婷久久| 永久黄网站色视频免费直播| 成在线人视频免费视频| 亚洲精品美女在线观看| 免费v片视频在线观看视频| 成人A片产无码免费视频在线观看| 亚洲人成免费电影| 亚洲人成人无码网www国产| 久久久久久国产精品免费无码| 亚洲精品伦理熟女国产一区二区| 亚洲中文字幕视频国产| 日韩在线免费视频| 4hu四虎免费影院www|