swing初始化一个JFrame实现点击A界面的一个按钮,显示B界面,无论点击多少次,都只显示一个B界面

swing初始化一个JFrame实现点击A界面的一个按钮,显示B界面,无论点击多少次,都只显示一个B界面。
A界面:

public class Demo extends JFrame {

    private JPanel contentPane;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Demo frame = new Demo();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public Demo() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);

        JMenuBar menuBar = new JMenuBar();
        setJMenuBar(menuBar);

        JMenu menu = new JMenu("\u529F\u80FD\u9009\u62E9");
        menuBar.add(menu);

        //按钮的事件:就是调用本界面Demo的getInstance()方法
        JMenuItem menuItem = new JMenuItem("\u767B\u5F55");
        menuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                Demo.getInstance();

            }
        });
        menu.add(menuItem);

        JMenuItem menuItem_1 = new JMenuItem("\u6CE8\u518C");
        menu.add(menuItem_1);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);
    }


    //通过静态方法设置只显示一个Load界面
    public static Load instance = null;
    public static Load getInstance(){
        if(instance == null){
            instance = new Load();
            instance.setVisible(true);
        }
        return instance;
    }
}

这里写图片描述
主要的代码就是添加了:

//通过静态方法设置只显示一个Load界面
    public static Load instance = null;
    public static Load getInstance(){
        if(instance == null){
            instance = new Load();
            instance.setVisible(true);
        }
        return instance;
    }

点击登录按钮要打开的界面就是Load界面,设置一个静态方法,当Load界面为空,就新建一个Load界面的对象,不为空就不做任何的操作。这样就可以解决无数次点击按钮,只产生一个Load界面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值