Java JPanel上不显示的按钮

Java JPanel上不显示的按钮,java,swing,jpanel,jbutton,Java,Swing,Jpanel,Jbutton,我正在做一个菜单,应该有两个按钮,“恢复”和“退出主菜单”。问题是JPanel显示时没有任何问题,但是JButtons不存在,尽管我已经添加了它们。下面的代码部分是对菜单图形侧的处理 if(secMenuFlag){ JPanel menu = new JPanel(); JButton resume = new JButton("Resume"), exit = new JButton("Exit to Main Menu"); menu.set

我正在做一个菜单,应该有两个按钮,“恢复”和“退出主菜单”。问题是JPanel显示时没有任何问题,但是JButtons不存在,尽管我已经添加了它们。下面的代码部分是对菜单图形侧的处理

if(secMenuFlag){
        JPanel menu = new JPanel();
        JButton resume = new JButton("Resume"), exit = new JButton("Exit to Main Menu");
        menu.setLayout(null);

        menu.setLocation((frame.getWidth() - menuSize[0]) / 2, (frame.getHeight() - menuSize[1]) / 2);
        menu.setSize(menuSize[0], menuSize[1]);
        menu.setBackground(new Color(0, 0, 0));

        resume.addActionListener(this);
        resume.setFont(new Font("Sans-serif", Font.BOLD, 18));
        resume.setBackground(Color.white);
        resume.setLocation(100, 100);

        exit.addActionListener(this);
        exit.setFont(new Font("Sans-serif", Font.BOLD, 18));
        exit.setBackground(Color.white);
        exit.setLocation(200, 100);

        menu.add(resume);
        menu.add(exit);
        super.add(menu, 0);

    }

设置按钮的边界。我已经完成了一份简历,请按照同样的程序退出

    JPanel menu = new JPanel();
    JButton resume = new JButton("Resume"), exit = new JButton("Exit to Main Menu");
    menu.setLayout(null);

    JFrame frame;
    frame = new JFrame("check");
    frame.setLayout(null);
    frame.setSize(300, 300);
    int[] menuSize = new int[2];
    menuSize[0] = 200;
    menuSize[1] = 300;

    menu.setLocation((frame.getWidth() - menuSize[0]) / 2, (frame.getHeight() - menuSize[1]) / 2);
    menu.setSize(menuSize[0], menuSize[1]);
    menu.setBackground(new Color(255, 255, 255));

    // resume.addActionListener((ActionListener) this);
    resume.setBounds(20, 20, 100, 100);
    resume.setFont(new Font("Sans-serif", Font.BOLD, 18));
    resume.setBackground(Color.BLACK);
    resume.setLocation(100, 100);

    resume.setVisible(true);

    // exit.addActionListener((ActionListener) this);
    exit.setFont(new Font("Sans-serif", Font.BOLD, 18));
    exit.setBackground(Color.BLACK);
    exit.setLocation(200, 100);
    exit.setVisible(true);

    menu.add(resume);
    menu.add(exit);
    frame.add(menu);
    frame.setVisible(true);

您是否尝试过使用按钮位置?是的,我尝试过在x和y上都设置负值,但似乎什么都没有发生:/1)为了更快地获得更好的帮助,请发布or。2)
exit.setFont(新字体(“Sans serif”,Font.BOLD,18))最好使用常量,例如
exit.setFont(新字体(Font.SANS_SERIF,Font.BOLD,18))。。3) 
menu.setLayout(空)Java GUI必须在不同的操作系统、屏幕大小、屏幕分辨率等上工作,在不同的地区使用不同的PLAF。因此,它们不利于像素完美布局。而是使用布局管理器,或与布局填充和边框一起使用。