高手看下用swing如何实现

来源:百度知道 编辑:UC知道 时间:2024/05/21 17:02:18
一共公用JPanel上面有按钮,这个JPanel可以放在任何窗体里,比如JFrame或JDialog,现在要实现点击按钮关闭这个JPanel所在的窗体,该如何实现?
不能用System.exit(0),也不能用setVisible(false),有没有其它办法?
求教高手指点一二,不胜感激,谢谢~!
不到万不得以我也不想问啊~!在网上搜了好久的资料都没有解决的办法啊~!代码如下:
public class Test{
public static void main(String [] args) {
JDialog jf = new JDialog();
JButton jb = new JButton("show");
final JDialog jd = new JDialog();
jf.add(jb);
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jd.getContentPane().add(new TPanel());
jd.setSize(new Dimension(400, 300));
jd.setVisible(true);
}
});
jf.getContentPane().add(jb);
jf.setSize(new Dimension(400, 300));
jf.setVisible(true);
}
}

@SuppressWarnings("serial")
class TPanel extends JPanel {
private JButton jbtn = new JButton("Close");
public TPanel() {
this.jbtn

这样写吧:
public void actionPerformed(ActionEvent e) {
((Window)jbtn.getTopLevelAncestor()).dispose();
}
});

dispose释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源

this.dispose

对不起,我也就知道关闭本页面的System.exit(0),所以我帮不了你了

为什么不可以用System.exit(0)?
题目的规定?
如果是返回上一级的话可以试一试
This.dispose();
关闭并返回上一级的代码是:
setDefaultCloseOperation(EXIT_ON_CLOSE);
放try里的写在类的方法中就ok喽~~