轉: JAVA_SWT常用事件, 和方法

來源:互聯網
上載者:User

標籤:

轉自: http://blog.csdn.net/lyq19870515/article/details/9450275

擷取焦時間點事件:text.addListener(SWT.FocusIn, new Listener() {       public void handleEvent(Event e) {                 // 處理得到焦點的事件        }    });    失去焦時間點事件:text.addListener(SWT.FocusOut, new Listener() {        public void handleEvent(Event e) {          // 處理失去焦點的事件         }    });    滑鼠移入移出事件:treeCom.getTree().addMouseTrackListener(new MouseTrackListener() {      @Override      public void mouseHover(MouseEvent e) { }                    @Override      public void mouseExit(MouseEvent e) {                //移入事件          }      @Override      public void mouseEnter(MouseEvent e) {                //移出事件          }  });   按鈕單擊事件:button.addSelectionListener(new SelectionAdapter() {  @Override  public void widgetSelected(SelectionEvent e) {          //事件處理         }  });  滑鼠左鍵雙擊事件:tree.addListener(SWT.MouseDoubleClick, new Listener() {      @Override      public void handleEvent(Event event) {          if(event.button != 1) { //按鍵不是左鍵跳出. 1左鍵,2中鍵,3右鍵              return;          }          //事件處理      }  });  Table設定行高事件:table_1.addListener(SWT.MeasureItem, new Listener() {            @Override      public void handleEvent(Event event) {          //處理事件          event.height = 30;          //把當前事件移除.不然你點一下表就會執行很多次事件.          table.removeListener(SWT.MeasureItem, this);      }  });   按鈕單擊事件:button.addSelectionListener(new SelectionAdapter() {      @Override      public void widgetSelected(SelectionEvent e) {      //事件  });   雙擊樹.獲得當前點擊節點的名字:tree.addListener(SWT.MouseDoubleClick, new Listener() {      @Override      public void handleEvent(Event event) {          if(event.button != 1) { //不是點擊滑鼠右鍵.              return;          }          Point point = new Point(event.x, event.y);  //擷取當前點擊的座標點.          TreeItem item = tree.getItem(point);    //通過座標點擷取節點.  //擷取所有選中的樹節點.  //TreeItem [] itemArray = Global.getTree_UserOrgan().getTree().getSelection();          System.out.println(tree.getText());      }  });  擷取Eclipse介面的大小(size):Point size = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().getSize();  擷取滑鼠當前位置:Point Point = Display.getCurrent().getCursorLocation();  擷取螢幕解析度:Monitor[] monitors = shell.getDisplay().getMonitors();  for (int i = 0; i < monitors.length; i++) {      Monitor m = monitors[i];      System.out.println(m.getBounds().toString());  }  //程式輸出: Rectangle {0, 0, 1366, 768}  樹的複選框選中事件:tree.addListener(SWT.Selection, new Listener() {  @Override  public void handleEvent(Event event) {      if (event.detail == SWT.CHECK) {          TreeItem item = (TreeItem) event.item;          if(item == null) {              return;          }          boolean checked = item.getChecked();            if(checked) {   //如果是新選擇一個元素. 就取消其他選擇的元素.              for (int i = 0; i < projectMoudelTree.getTreeItemList().size(); i++) {                  TreeItem tempItem = projectMoudelTree.getTreeItemList().get(i);                  if(item != tempItem) {                      tempItem.setChecked(false);                  }              }          }      }  }  });  複選框選中事件://建立複選框. 複選框不能帶唯讀屬性(SWT.READ_ONLY), 不然會認為你是按鈕.  checkbox = new Button(composite, SWT.CHECK);  checkbox.setText("測試複選框");    checkbox.addSelectionListener(new SelectionListener() {      @Override      public void widgetSelected(SelectionEvent e) {          //複選框, 選中取消時觸發此事件.          //checkbox.setSelection(false); 設定複選框選中.                    //如果想要複選框為唯讀屬性          if(checkbox.getSelection()) {              checkbox.setSelection(false);          } else {              checkbox.setSelection(true);          }      }        @Override      public void widgetDefaultSelected(SelectionEvent e) { }  });  SWT帶垂直捲軸的Text自動滾動到底部(比如顯示聊天資訊, 日誌的顯示等)以前一直以為是捲軸的設定. 結果完全不是那麼回事.Text tbx_text = new Text(group, SWT.BORDER | SWT.WRAP                     | SWT.V_SCROLL | SWT.READ_ONLY);      tbx_text.setTopIndex(Integer.MAX_VALUE);  直接設定它的顯示行數就行了,  設定最大, 就顯示到最底了.Dialog模式化:private void createContents() {<span style="white-space:pre"> </span>      shell = new Shell(getParent(), getStyle()|SWT.SHELL_TRIM|SWT.APPLICATION_MODAL);

轉: JAVA_SWT常用事件, 和方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.