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

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

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

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 825594
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    package testrcp.app;

    import org.eclipse.jface.action.MenuManager;
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.graphics.Image;
    import org.eclipse.swt.graphics.Point;
    import org.eclipse.swt.graphics.Rectangle;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Event;
    import org.eclipse.swt.widgets.Listener;
    import org.eclipse.swt.widgets.Menu;
    import org.eclipse.swt.widgets.Shell;
    import org.eclipse.swt.widgets.Tray;
    import org.eclipse.swt.widgets.TrayItem;
    import org.eclipse.ui.IWorkbenchWindow;
    import org.eclipse.ui.application.ActionBarAdvisor;
    import org.eclipse.ui.application.IActionBarConfigurer;
    import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
    import org.eclipse.ui.application.WorkbenchWindowAdvisor;

    public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {

     private TrayItem trayItem;//系統(tǒng)托盤對象
     private Image trayImage;//系統(tǒng)托盤圖標(biāo)對象
     /** 程序的菜單條 */
     private ApplicationActionBarAdvisor actionBarAdvisor;
     
        public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
            super(configurer);
        }
        /** 創(chuàng)建菜單條對象 */
        public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
            actionBarAdvisor = new ApplicationActionBarAdvisor(configurer);
         return actionBarAdvisor;
        }
       
        /** 打開窗口前調(diào)用該方法,對窗口初始化設(shè)置 */
        public void preWindowOpen() {
            IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
            configurer.setInitialSize(new Point(600, 400));
            configurer.setShowCoolBar(true);//工具欄
            configurer.setShowStatusLine(false);//狀態(tài)欄
           
            configurer.setShowPerspectiveBar(true);//透視圖
            configurer.setShowProgressIndicator(true);//進度條
           
            final IWorkbenchWindow window = super.getWindowConfigurer().getWindow();
            /** 創(chuàng)建系統(tǒng)托盤 */
            trayItem = initTrayItem(window);
            /** 如果支持系統(tǒng)托盤,則創(chuàng)建托盤的菜單 */
            if(trayItem != null) {
             createPopupMenu(window);
            }
        }
       
        /**
      * 創(chuàng)建系統(tǒng)托盤菜單
      *
      * @param window
      *            工作臺窗口對象
      */
        private void createPopupMenu(final IWorkbenchWindow window) {
      trayItem.addListener(SWT.MenuDetect, new Listener() {

       @Override
       public void handleEvent(Event event) {
        MenuManager trayMenu = new MenuManager();
        Menu menu = trayMenu.createContextMenu(window.getShell());
        /**
         * 調(diào)用fillTrayItem方法創(chuàng)建系統(tǒng)托盤對象,可以直接利用菜單欄中的操作 而不需要,重新創(chuàng)建操作
         */
        actionBarAdvisor.fillTrayItem(trayMenu);
        menu.setVisible(true);
       }
       
      });
      
     }

     /**
      * 初始化系統(tǒng)托盤對象
      *
      * @param window
      *            工作臺窗口對象
      * @return 該程序所對應(yīng)的系統(tǒng)托盤對象
      */
     private TrayItem initTrayItem(IWorkbenchWindow window) {
      final Tray tray = Display.getCurrent().getSystemTray();
      if(tray == null)
       return null;
      TrayItem trayItem = new TrayItem(tray, SWT.NONE);
      trayImage = Activator.getImageDescriptor("icons/logo.gif").createImage();
      trayItem.setImage(trayImage);
      trayItem.setToolTipText("System Tray");
      
      return trayItem;
     }

     @Override
     public void postWindowOpen() {
      //窗口居中顯示
      Shell shell = getWindowConfigurer().getWindow().getShell();
      Rectangle screenSize = Display.getDefault().getClientArea();
      Rectangle frameSize = shell.getBounds();
      shell.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);
     }
       
     /** 釋放窗口,釋放系統(tǒng)托盤 */
     public void dispose() {
      if (trayImage != null) {
       trayImage.dispose();
       trayItem.dispose();
      }
     }

    }



    posted on 2008-12-05 23:42 Ke 閱讀(914) 評論(0)  編輯  收藏 所屬分類: eclipse RCP
    主站蜘蛛池模板: 亚洲小说区图片区另类春色| 一级做a爰片久久毛片免费看 | 久久精品国产亚洲综合色| 大陆一级毛片免费视频观看i| 男人都懂www深夜免费网站| 国产亚洲综合久久| 亚洲熟妇少妇任你躁在线观看| 亚洲va在线va天堂va不卡下载 | 91丁香亚洲综合社区| 亚洲av永久无码制服河南实里| 亚洲福利中文字幕在线网址| 在线免费观看色片| 91免费资源网站入口| 国产人成免费视频网站| 日韩中文字幕免费视频| 99久久免费国产特黄| 国产无限免费观看黄网站| 午夜在线免费视频 | 久久国产免费直播| 黄色一级毛片免费| 在线观看亚洲免费| 色天使色婷婷在线影院亚洲| 亚洲aⅴ无码专区在线观看| 亚洲人成网亚洲欧洲无码| 亚洲精品天堂在线观看| wwwxxx亚洲| 2020年亚洲天天爽天天噜| 亚洲AV无码久久久久网站蜜桃| 亚洲日本国产精华液| 亚洲成a人片在线观看中文!!!| 久久久亚洲AV波多野结衣| 亚洲视频在线观看免费视频| 中文字幕在线观看亚洲| 亚洲视频免费在线播放| 亚洲第一精品电影网| 亚洲人成777在线播放| 亚洲人精品亚洲人成在线| 中文字幕无码亚洲欧洲日韩| 亚洲人成网亚洲欧洲无码| 18禁亚洲深夜福利人口| 曰批全过程免费视频免费看|