日期:2014-05-20  浏览次数:20890 次

SWT 子窗口向父窗口传值
请教各位:
用SWT的Application   Window建了一个父界面Father.java,一个子界面Son.java.
在父窗口中,用   Son   mySon=new   Son();
mySon.Open();打开子窗口
在Son.java中,选择一个得到一个值,如何返回给父窗口。
最好能关闭时传给父窗口。谢谢。

------解决方案--------------------
用GET SET的方法来传递值
------解决方案--------------------
public void set***(Object o);
public Object get****();
------解决方案--------------------
用SWT的Application Window建了一个父界面Father.java,一个子界面Son.java.
最好的方法就是把主窗口用 this应用把自己传过去
所以你子界面Son.java
的构造函数就该写成
class Son
{
Father father;
Son(Father father)
{this.father = father;}
}
而在主窗口中把自己传过去
Son mySon=new Son(this);
这样就很容易在子窗口改变主窗口的值了.
------解决方案--------------------
button.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
Son mySon=new Son(this);
mySon.open();
}
});

在这里引用this当然不对了,这时候的this可不是father了
令写一个类方法
public void openson()
{Son mySon=new Son(this);
mySon.open();
}
然后改为
button.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
openson();
}
});