<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}

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


    網站導航:
     
    主站蜘蛛池模板: 国产国产人免费视频成69大陆| 国产精品亚洲一区二区麻豆| 久久精品免费电影| 91亚洲精品麻豆| 亚洲一区在线观看视频| 三年片免费高清版| 免费少妇a级毛片| 亚洲人成色99999在线观看| 四虎成人精品在永久免费| 久久精品免费大片国产大片| 亚洲精品在线播放| 四虎在线成人免费网站| 337p日本欧洲亚洲大胆艺术| 成熟女人特级毛片www免费| 国产精品综合专区中文字幕免费播放| 欧美最猛性xxxxx免费| 美女尿口扒开图片免费| 亚洲AV永久无码精品| 另类免费视频一区二区在线观看| 亚洲国产精品自在拍在线播放| 国产精品亚洲一区二区麻豆| 久久激情亚洲精品无码?V| 美女羞羞免费视频网站| 91亚洲va在线天线va天堂va国产 | 性感美女视频在线观看免费精品| 亚洲成av人片在线观看天堂无码| 亚洲欧美成aⅴ人在线观看| 亚洲成A∨人片在线观看不卡| 国产精品免费看久久久| 国产AV无码专区亚洲AV麻豆丫| 午夜免费福利片观看| 亚洲v高清理论电影| 37pao成人国产永久免费视频| 亚洲国产天堂在线观看| 成年免费大片黄在线观看岛国| 亚洲一区二区三区免费在线观看 | 亚洲午夜无码片在线观看影院猛| 亚洲免费观看在线视频| 亚洲免费观看视频| 全亚洲最新黄色特级网站 | 在线观看视频免费完整版|