JAVA问题:如何在A窗口中操作B窗口的打开和关闭
有两个窗口,A和B想通过A窗口来对B窗口进行打开或关闭,用什么方法呢?我的想法是这样的:假如A中有两个按钮,1和2。按下1时,创建一个窗口B的实例按下2时,销毁这个实例我...
有两个窗口,A和B
想通过A窗口来对B窗口进行打开或关闭,用什么方法呢?
我的想法是这样的:
假如A中有两个按钮,1和2。
按下1时,创建一个窗口B的实例
按下2时,销毁这个实例
我朋友用setVisible这个方法也可以实现
但这不是我想要的结果
麻烦大家 展开
想通过A窗口来对B窗口进行打开或关闭,用什么方法呢?
我的想法是这样的:
假如A中有两个按钮,1和2。
按下1时,创建一个窗口B的实例
按下2时,销毁这个实例
我朋友用setVisible这个方法也可以实现
但这不是我想要的结果
麻烦大家 展开
展开全部
用 dispose 方法(中文文档 => http://shorterlink.com/?ZFU3RA):
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class C extends JFrame {
private JFrame newWindow;
public C( ) {
setTitle( "A 窗口" );
JButton createWindow = new JButton( " 1 " ),
disposeWindow = new JButton( " 2 " );
createWindow.addActionListener( new ActionListener( ) {
public void actionPerformed( ActionEvent ae ) {
if ( newWindow == null ) {
newWindow = new JFrame( "B 窗口(只能通过 A 窗口关闭此窗口)" );
newWindow.setDefaultCloseOperation( DO_NOTHING_ON_CLOSE );
newWindow.setSize( 400, 100 );
newWindow.setLocation( 300, 100 );
newWindow.setVisible( true );
}
}
} );
disposeWindow.addActionListener( new ActionListener( ) {
public void actionPerformed( ActionEvent ae ) {
if ( newWindow != null ) {
newWindow.dispose( );
newWindow = null;
}
}
} );
Container c = getContentPane( );
c.setLayout( new FlowLayout( ) );
c.add( createWindow );
c.add( disposeWindow );
pack( );
setLocation( 300, 300 );
setDefaultCloseOperation( EXIT_ON_CLOSE );
setVisible( true );
}
public static void main( String[ ] args ) {
new C( );
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询