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

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

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

    posts - 28, comments - 27, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
    目的1:打開一個新的對話框時,如何設定它和父對話框的相對位置?比如在登錄對話框有一個“創建新帳號”的按鈕,用戶點擊以后,就出現新的對話框用于注冊,請問如何能讓新的對話框和舊對話框排列的整齊一些?應該是能設定二者的相對位置吧?

    最開始,以為要用Shell.setLocation來設置,但是對于一個Dialog而言,它的Shell在什么時候才能初始化呢?

    我 在構造函數里面,configureShell(Shell newShell)方法里面,Control createDialogArea(Composite parent)方法里面都調用過了this.getShell方法想得到當前的Shell,結果都拋出空指針異常....

    后來看書發現,應該重寫protected Point getInitialLocation(Point initialSize)方法

    比如,在最開始的例子中,在第二個對話框中我重寫了該方法,代碼如下:

    protected?Point?getInitialLocation(Point?initialSize)?{
    ????????Point?location?
    =?new?Point(this.getParentShell().getLocation().x
    ????????????????
    +?this.getParentShell().getBounds().width,?this
    ????????????????.getParentShell().getLocation().y
    ????????????????
    +?this.getParentShell().getBounds().height
    ????????????????
    -?this.getInitialSize().y);
    ????????
    return?location;
    ????}


    其結果就是兩個對話框底部對齊的平行排列:)

    目的2: 登陸對話框要記住上次的位置。

    想了半天,好像只能用IPreferenceStore來做了,在繼承了AbstractUIPlugin的類中放入兩個常量:

    ????public?static?final?String?LOGINDIALOG_POSITION_X?=?"LOGINDIALOG_POSITION_X";

    ????
    public?static?final?String?LOGINDIALOG_POSITION_Y?=?"LOGINDIALOG_POSITION_Y";

    然后重寫兩個方法:

    ????@Override
    ????
    protected?Point?getInitialLocation(Point?initialSize)?{

    ????????String?xposition?
    =?preferenceStore
    ????????????????.getString(Peer68TPlugin.LOGINDIALOG_POSITION_X);
    ????????String?yposition?
    =?preferenceStore
    ????????????????.getString(Peer68TPlugin.LOGINDIALOG_POSITION_Y);
    ????????
    if?(xposition?==?null?||?yposition?==?null || xposition == ""
    ??? ??? ??? ??? || yposition == ""
    )?{
    ????????????
    return?super.getInitialLocation(initialSize);
    ????????}?
    else?{
    ????????????
    return?new?Point(Integer.parseInt(xposition),?Integer
    ????????????????????.parseInt(yposition));
    ????????}
    ????}

    ????@Override
    ????
    public?boolean?close()?{
    ????????preferenceStore.setValue(Peer68TPlugin.LOGINDIALOG_POSITION_X,?
    this
    ????????????????.getShell().getLocation().x);
    ????????preferenceStore.setValue(Peer68TPlugin.LOGINDIALOG_POSITION_Y,?
    this
    ????????????????.getShell().getLocation().y);
    ????????
    return?super.close();
    ????}

    大功告成!


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲免费观看视频| **毛片免费观看久久精品| 国产亚洲美女精品久久久2020| 久久久久国产精品免费看| 精品久久亚洲中文无码| 亚洲精品久久久www | 精品无码国产污污污免费网站 | 6080午夜一级毛片免费看6080夜福利 | 亚洲日本天堂在线| 自拍偷自拍亚洲精品情侣| 69视频在线观看高清免费| 亚洲AV无码AV男人的天堂不卡| 亚洲中文久久精品无码| 一个人免费高清在线观看| 16女性下面扒开无遮挡免费| 国产AV无码专区亚洲AV蜜芽| 国产亚洲美女精品久久久久狼| 最新猫咪www免费人成| 三年片免费高清版| 亚洲AV无码AV日韩AV网站| 亚洲AV成人一区二区三区AV| 国产无遮挡吃胸膜奶免费看视频| 你懂的网址免费国产| 亚洲AV色欲色欲WWW| 亚洲视频在线观看视频| 国产亚洲一区区二区在线| 岛国片在线免费观看| 91精品国产免费久久国语麻豆| 一级做性色a爰片久久毛片免费| wwwxxx亚洲| 久久久久亚洲AV无码专区首| 亚洲AⅤ无码一区二区三区在线| 久久久久久免费视频| 青青草原1769久久免费播放| 免费国产高清毛不卡片基地| 亚洲一区动漫卡通在线播放| 亚洲av永久无码精品国产精品| va亚洲va日韩不卡在线观看| 成人免费在线视频| 91免费国产在线观看| 久久精品国产这里是免费|