JAVA问题:如何在A窗口中操作B窗口的打开和关闭

有两个窗口,A和B想通过A窗口来对B窗口进行打开或关闭,用什么方法呢?我的想法是这样的:假如A中有两个按钮,1和2。按下1时,创建一个窗口B的实例按下2时,销毁这个实例我... 有两个窗口,A和B

想通过A窗口来对B窗口进行打开或关闭,用什么方法呢?

我的想法是这样的:
假如A中有两个按钮,1和2。
按下1时,创建一个窗口B的实例
按下2时,销毁这个实例

我朋友用setVisible这个方法也可以实现
但这不是我想要的结果

麻烦大家
展开
 我来答
leeps_my
2006-08-06 · TA获得超过807个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:0
展开全部
 
 
 
用 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( );
    }
}
 
 
 
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式