我写了图中标蓝的几行代码,然后运行主页面失败

我写了图中标蓝的几行代码,然后运行主页面失败,就是我显示不出添加页面,而我需要写代码,然后运行主页面,在主页面里打开添加页面,在添加页面进行数据添加,但是运行失败,请问是什么原因?我应该如何修改?

img

img

img

这个报错是事件监听报错,应该是第二个图的监听事件代码导致的,看上去你要监听的是按钮点击事件,可以把ActionListener改成MouseAdapter试一下

        JButton tianjia = new JButton("\u6DFB\u52A0");
        tianjia.addMouseListener(new MouseAdapter() {
            public void actionPerformed(MouseEvent arg0) {
                //按钮逻辑代码
                
            }
        });

package page;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JDesktopPane;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JTable;

public class MainPage {

private JFrame frame;
private JMenuBar menuBar;
private JTable table;
/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                MainPage window = new MainPage();
                window.frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the application.
 */
public MainPage() {
    initialize();
}

/**
 * Initialize the contents of the frame.
 */
private void initialize() {
    frame = new JFrame();
    frame.setTitle("\u4E3B\u9875\u9762");
    
    frame.setBounds(100, 100, 740, 500);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     frame.getContentPane().setLayout(null);
    
     menuBar = new JMenuBar();
     menuBar.setBackground(new Color(240, 240, 240));
     menuBar.setBounds(0, 0, 714, 411);
    frame.getContentPane().add(menuBar);
    
    JMenu mnNewMenu = new JMenu("\u4EA7\u54C1\u7BA1\u7406");
    menuBar.add(mnNewMenu);
    
    JMenuItem mntmNewMenuItem = new JMenuItem("\u6DFB\u52A0\u7528\u6237");
    mntmNewMenuItem.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            //获取一个添加页面的对象
            AddPage add = new AddPage();
            //将桌面存在的内容都清理一遍
            menuBar.removeAll();
            //将页面加入到桌面面板
            menuBar.add(add.getFrame());
        }
    });
    mnNewMenu.add(mntmNewMenuItem);
    
    JMenuItem mntmNewMenuItem_1 = new JMenuItem("\u67E5\u8BE2\u7528\u6237");
    mntmNewMenuItem_1.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            SearchPage sp = new SearchPage();
            //运行一次可以同时将添加页面和查询页面显示出来,新加页面之前把原有桌面 
            menuBar.removeAll();
            //将窗口成员添加到menuBar 里面
            menuBar.add(sp.getFrame());
        }
    });
    mnNewMenu.add(mntmNewMenuItem_1);
    
    JMenuItem mntmNewMenuItem_2 = new JMenuItem("\u4FEE\u6539\u7528\u6237");
    mntmNewMenuItem_2.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            EditPage sp = new EditPage();
            menuBar.removeAll();
            menuBar.add(sp.getFrame());
        }
    });
    mnNewMenu.add(mntmNewMenuItem_2);
    
    JMenuItem mntmNewMenuItem_3 = new JMenuItem("\u5220\u9664\u7528\u6237");
    mntmNewMenuItem_3.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            DeleteUserPage sp = new DeleteUserPage();
            menuBar.removeAll();
            //将窗口成员添加到menuBar 里面
            menuBar.add(sp.getFrame());
        }
    });
    mnNewMenu.add(mntmNewMenuItem_3);
    JDesktopPane desktopPane = new JDesktopPane();
    desktopPane.setBackground(Color.LIGHT_GRAY);
    desktopPane.setBounds(10, 22, 707, 430);
    frame.getContentPane().add(desktopPane);
    
    table = new JTable();
    table.setBounds(0, 0, 1, 1);
    frame.getContentPane().add(table);
}

}
上面的是主页面的代码🤔
下面是添加页面的代码🤔