如何在关闭一个窗口时将另一相关窗口同时关闭?

hogcheng 2003-09-24 06:19:02
在A窗口中有一个BUTTON按钮,打开了另一个窗口B.
如何在关闭A窗口时将B窗口同时关闭?
...全文
39 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
liaomingxue 2003-09-25
  • 打赏
  • 举报
回复
<HTML>
<HEAD>
<TITLE>Window A</TITLE>
<script language=javascript>
var bWindow;
</script>
<script language=javascript>
function openB()
{
bWindow=window.open("2.htm");
}
function closeB()
{
if(bWindow) bWindow.close();
}
</script>
</HEAD>
<BODY onunload="closeB()">
<input type=button onclick="openB()" value="to open b"></input>
</BODY>
</HTML>
hogcheng 2003-09-25
  • 打赏
  • 举报
回复
声明:是HTML窗口,而不是JAVA程序窗口!!!!!!!!!!!!!!!!!!!!!!!!
liaomingxue 2003-09-24
  • 打赏
  • 举报
回复
错误,不能用windowClosed事件,必须用windowClosing下面是演示:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Frame1 extends JFrame
{
public static void main(String[] args)
{
Frame1 test = new Frame1();
}
public Frame1()
{
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(300,300);
this.show();
new AFrame().show();
}
}
class AFrame extends JFrame
{
JButton button=new JButton("show b");
BFrame bFrame=new BFrame();

public AFrame()
{
this.getContentPane().setLayout(new FlowLayout());
this.getContentPane().add(button);
this.pack();
this.addWindowListener(new WindowAdapter()
{
public void windowClosed(WindowEvent e)
{
if(bFrame.isShowing()) bFrame.dispose();
}
});
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
bFrame.show();
}
});
}
}
class BFrame extends JFrame
{
public BFrame()
{
this.setSize(200,200);
}
}
vampire1129 2003-09-24
  • 打赏
  • 举报
回复
如果是MAIN函数所在的窗口关闭,则所有与之有关的其他窗口也将关闭。
如果不是就在该窗口的windowClosed事件中加入dispose()就能做到
Yssss1980 2003-09-24
  • 打赏
  • 举报
回复
我考

到底是html窗口,还是java程序窗口啊

stamp80 2003-09-24
  • 打赏
  • 举报
回复
刚才少写了点,补上
aFrame.addWindowListener(new WindowAdapter(){
public void windowClosed(WindowEvent event){
if (bFrame.isShowing( )) bFrame.dispose();
System.exit(0);//可能不需要这句
}})
stamp80 2003-09-24
  • 打赏
  • 举报
回复
难道这样不行吗?
aFrame.addWindowListener(new WindowAdapter(){
public void windowClosed(WindowEvent event){
bFrame.dispose();
System.exit(0);
}})
liaomingxue 2003-09-24
  • 打赏
  • 举报
回复
不好意思,有些笔误:
aFrame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
if(b.isShowing) b.dispose();
}
});
liaomingxue 2003-09-24
  • 打赏
  • 举报
回复
aFrame.addWindowListener(new WindowAdapter()
{
public void windowClosing()
{
if(b.isShowing) b.dispose();
}
}
noratong 2003-09-24
  • 打赏
  • 举报
回复
调用这句话System.exit(0)应该是所有的窗口都关了呀???你的不是吗??我原来作的好像是的呢。
fast_time 2003-09-24
  • 打赏
  • 举报
回复
A:
Button.onClick:var obj = window.open("B");
window.onunload:obj.close();

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧