如何给SWT的Text控件添加一个右键菜单,其中有个Clear项,用来清除Text控件中的内容。

解决方案 »

  1.   


    这里
    http://blog.csdn.net/naughty610/archive/2010/02/23/5320434.aspx
      

  2.   

    监听事件Display d = Display.getDefault();
    Shell s = new Shell(d,SWT.ON_TOP|SWT.CLOSE);
    Composite composite = new Composite(s, SWT.NONE);     Text   text1_r = new Text(composite, SWT.CENTER |SWT.BORDER);
            text1_r.setBounds(68, 121, 35, 18);
            text1_r.setBackground(ResourceManager.getColor(194, 232, 241));
            text1_r.setText("http://www.honglonglong.com");
            text1_r.addMouseListener(new MouseAdapter() {
                public void mouseDoubleClick(MouseEvent e) {
                    final Menu menu = new Menu (s, SWT.POP_UP);                
                     final MenuItem menuItemA = new MenuItem (menu, SWT.ON_TOP);
                     menuItemA.setText("复制");
                     menuItemA.addSelectionListener(new SelectionAdapter() {
                  public void widgetSelected(SelectionEvent e) {
                  //text1_16.setSelection(0,text1_16.getText().length());
                   text1_r.copy();
        
                  }
                   });
                     
                    final MenuItem menuItemB = new MenuItem (menu, SWT.ON_TOP);
                     menuItemB.setText("剪切");
                     menuItemB.addSelectionListener(new SelectionAdapter() {
                  public void widgetSelected(SelectionEvent e) {
                   text1_r.cut();
        
                  }
                   });
                     
                   final MenuItem menuItemC = new MenuItem (menu, SWT.ON_TOP);
                     menuItemC.setText("清空");
                     menuItemC.addSelectionListener(new SelectionAdapter() {
                  public void widgetSelected(SelectionEvent e) {
                   text1_r.setText("");
        
                  }
                   });                 
                     menu.setVisible(true);
               
                }
                public void mouseDown(MouseEvent e) {
                }
               });