@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
((TestDialog)getOwner()).setInfo(tf.getText());
}
});
b2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(isModal() == true){
s = new String(tf.getText());
}else{
((TestDialog)getOwner()).setInfo(tf.getText());
}
dispose();
}
});
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
super.windowClosing(e);
dispose();
}
});
}
public void setInfo(String s) {
// TODO Auto-generated method stub
tf.setText(s);
}
public String getInfo() {
// TODO Auto-generated method stub
return s;
}
}
程序运行没问题。但是为搞不明白加个if判断是为什么,我们要那个String s 是干什么用的,getText()的返回值是个String 类型我们为什么要输入一个text,还有为什么要在我们Frame里设置Dialog的显示,如果在Dialog里面自己写setVisable()就不能关闭dialog,难道是我的MyEclipse有问题?