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

    大功告成!


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


    網站導航:
     
    主站蜘蛛池模板: 中文无码日韩欧免费视频| 亚洲女女女同性video| 久久久久久久久久免免费精品 | 婷婷亚洲天堂影院| 亚洲AV无码成人精品区在线观看| 国产亚洲精品精品国产亚洲综合| 亚洲中文字幕久久精品无码喷水 | 久久精品国产亚洲av麻豆小说 | 一区二区无码免费视频网站| 亚洲国产精品一区二区久久| 在线看片免费人成视频久网下载| 中文字幕免费观看| 亚洲Aⅴ无码专区在线观看q| 久久精品免费视频观看| 亚洲经典在线观看| 在线A级毛片无码免费真人| 亚洲国产AV无码一区二区三区| 青青操视频在线免费观看| 亚洲国产精品无码成人片久久| 亚洲国产理论片在线播放| 免费a级毛片高清视频不卡| 亚洲av无码一区二区三区在线播放| 97国免费在线视频| 亚洲欧洲美洲无码精品VA | 亚洲国产成人91精品| 精品熟女少妇AV免费观看| 国产亚洲精品国产福利在线观看| 国内精品一级毛片免费看| 亚洲伊人久久大香线蕉苏妲己| 边摸边吃奶边做爽免费视频99 | 亚洲国产成人久久综合野外| 国产免费牲交视频免费播放| 色久悠悠婷婷综合在线亚洲| 毛片无码免费无码播放 | 性色av无码免费一区二区三区| 久久亚洲av无码精品浪潮| 四虎影视在线影院在线观看免费视频| 免费A级毛片无码久久版| 国产精品1024在线永久免费| 久久精品国产亚洲av麻豆| 久久不见久久见中文字幕免费|