写了一个主JFrame作为容器类。然后写了两个JPanel,分别放置在三个文件内。
然后JPanel内有JButton,我的意图是按这个Button以后将首先的一个Panel改为令一个Panel,不知道怎么去操作。因为监听器写的内部类又无法操作JFrame内的panel,而监听器类写在Frame里面好像又不起作用,试写的代码如下,但是不起作用,希望谁能分析下:
public class main_frame extends javax.swing.JFrame {
    public main_frame() {
        initComponents();
        init();
        setContentPane(log_p);
        addAllSortListener();
    }
    public void init() {
        log_p = new log_panel();
        register_p = new register_panel();
        show_p = new show_panel();
    }
    public void addAllSortListener() {
        JButton a_button;
        a_button = log_p.getRegisterButton();
        a_button.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent event) 
            {
                changeRegisterPanel();
            }
        });
    }
    public void changeRegisterPanel() {
        setContentPane(register_p);
    }    private log_panel log_p;
    private register_panel register_p;
    private show_panel show_p;
}单独调用changeRegisterPanel可以,但是加入到监听器类里面就不行了。