用Java单例模式实现面板切换(2)

public class Panel_02 extends JPanel{
    private JLabel jLabel = null;
    private JButton but_02 = null;
    //私有方法
    private Panel_02(JFrame jFrame){
        jLabel = new JLabel("界面1");
        jLabel.setBounds(0, 0, 100, 100);
        but_02 = new JButton("返回");
        //点击事件
        but_02.addActionListener(new ActionListener() {
           
            @Override
            public void actionPerformed(ActionEvent e) {
                if(e.getSource()==but_02){
                    jFrame.setContentPane(Panel_01.getInstance(jFrame));
                    jFrame.validate();//刷新
                }
            }
        });
        jLabel.setBounds(100, 100, 100, 100);
        add(but_02);
        add(jLabel);
    }
    private static Panel_02 panel_02=null;
    //对外接口
    public static Panel_02 getInstance(JFrame jFrame){
        panel_02 = new Panel_02(jFrame);
        return panel_02;
    }
}

本个案例主要实现了类只有一个JFrame窗口,而在使用功能的时候,只有里面的JPanel面板不断的切换,不影响主窗体的状态。而且一般这种类型的界面最好都是采用单例模式会好一点。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b5107c5cdb01390aba19e84f34ced4e6.html