<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();
    ????}

    大功告成!


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


    網站導航:
     
    主站蜘蛛池模板: 内射干少妇亚洲69XXX| 四虎在线播放免费永久视频| 亚洲宅男天堂在线观看无病毒| 亚洲精品无码久久久久YW| 在线观看无码AV网站永久免费| 亚洲综合图片小说区热久久| 久久免费观看国产精品| 亚洲av永久无码精品秋霞电影影院| 黄色网页在线免费观看| 中国china体内裑精亚洲日本| 67194成手机免费观看| 久久国产亚洲精品无码| 4hu四虎最新免费地址| 国产色在线|亚洲| 韩国二级毛片免费播放| 国产v亚洲v天堂无码网站| 男人都懂www深夜免费网站| 亚洲av网址在线观看| 无码精品A∨在线观看免费| 国产亚洲日韩一区二区三区| 中文在线免费看视频| 久久精品亚洲精品国产色婷| 男男AV纯肉无码免费播放无码 | 精品免费久久久久国产一区| 国产亚洲3p无码一区二区| 亚洲AV无码一区二区三区网址| 国产精品免费看香蕉| 美女巨胸喷奶水视频www免费| 亚洲国产精品无码专区| 日韩免费一区二区三区在线播放| 亚洲人成色4444在线观看| 成人亚洲性情网站WWW在线观看| 国产精品视频白浆免费视频| 亚洲视频一区二区三区四区| 免费人成在线观看网站视频| 久久久国产亚洲精品| 亚洲日韩在线中文字幕第一页 | 一个人免费观看www视频 | www.亚洲日本| 亚洲日本在线观看视频| 最刺激黄a大片免费网站|