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

来源:互联网 发布:淘宝网毛衣女装张大奕 编辑:程序博客网 时间:2024/06/05 10:33

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界面。

阅读全文
0 0
原创粉丝点击