如何在关闭一个窗口时将另一相关窗口同时关闭? A: Button.onClick:var obj = window.open("B"); window.onunload:obj.close(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 调用这句话System.exit(0)应该是所有的窗口都关了呀???你的不是吗??我原来作的好像是的呢。 aFrame.addWindowListener(new WindowAdapter(){public void windowClosing(){ if(b.isShowing) b.dispose();}} 不好意思,有些笔误:aFrame.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){ if(b.isShowing) b.dispose();}}); 难道这样不行吗?aFrame.addWindowListener(new WindowAdapter(){ public void windowClosed(WindowEvent event){ bFrame.dispose(); System.exit(0); }}) 刚才少写了点,补上aFrame.addWindowListener(new WindowAdapter(){ public void windowClosed(WindowEvent event){ if (bFrame.isShowing( )) bFrame.dispose(); System.exit(0);//可能不需要这句 }}) 我考到底是html窗口,还是java程序窗口啊晕 如果是MAIN函数所在的窗口关闭,则所有与之有关的其他窗口也将关闭。如果不是就在该窗口的windowClosed事件中加入dispose()就能做到 错误,不能用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); }} 声明:是HTML窗口,而不是JAVA程序窗口!!!!!!!!!!!!!!!!!!!!!!!! <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> Extjs菜鸟求帮助 有一个疑问:java中什么时候使用静态函数,为什么要使用静态函数,使用静态函数和单例模式有什么特色 果子程序的一点疑问 我想实现一个流的输入输出,看书看了半天啦,东凑西凑凑出个程序,可是不能实现,5555555555555555,晕死了。谁能帮我看看 讨论问题顺便庆祝5个三角 关于多线程的问题 急!在线等 !! 急,关于JComboBox下拉列表变长 如何将RESULTSET转换成ITERATOR 这是一种什么能力 Format.print();这个语句使用的问题. JAVA开门遇到菜鸟级别问题……找不到JAVA.LANG 关于调试信息,请赐教。
{
public void windowClosing()
{
if(b.isShowing) b.dispose();
}
}
aFrame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
if(b.isShowing) b.dispose();
}
});
aFrame.addWindowListener(new WindowAdapter(){
public void windowClosed(WindowEvent event){
bFrame.dispose();
System.exit(0);
}})
aFrame.addWindowListener(new WindowAdapter(){
public void windowClosed(WindowEvent event){
if (bFrame.isShowing( )) bFrame.dispose();
System.exit(0);//可能不需要这句
}})
如果不是就在该窗口的windowClosed事件中加入dispose()就能做到
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);
}
}
<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>