最近用SWT写了个小程序,在写事件处理时碰到了些问题,代码如下:
attLab1 = new Label(attComp, SWT.NONE);
attLab1.setText(filename[i]+"  ;");
Menu menu = new Menu(attLab1);

attLab1.setMenu(menu);
MenuItem open=new MenuItem(menu,SWT.PUSH); 
open.setText("打开");
open.addSelectionListener(new SelectionListener() {
    public void widgetSelected(SelectionEvent e) {
// MenuItem ton=(MenuItem)e.widget;
// Menu m=ton.getMenu();
//求代码部分
System.out.println();
    }
    public void widgetDefaultSelected(SelectionEvent e) {
    }
);
这是部分代码:请问下怎么获取触发selection事件的attLab1中的文本值:
(ps)因为种种原因不能直接使用attLab1.getText()方法;必须得从SelectionEvent e中一步步实现获取到attLab1。menuSWT Selection事件 

解决方案 »

  1.   

    Label attLab1 = new Label(attComp, SWT.NONE);
    attLab1.setText(filename[i]+"  ;");
    Menu menu = new Menu(attLab1);
    attLab1.setMenu(menu); 有什么方法通过menu的方法获取是哪个Control  setMenu()了menu;
      

  2.   

    把menu定义成全局的不就可以了
      

  3.   

    楼上的可能不清楚我的意思。这只是程序里的代码简写。label是动态生成的,menu也是动态生成绑定到label上的。不过我已经解决了。还是谢谢回帖。
      

  4.   

    swt不要学这个了!直接学swing就行啦