Java JPanel和JMenuBar到同一帧

Java JPanel和JMenuBar到同一帧,java,Java,我似乎无法将JMenuBar和JPanel都添加到我的框架中 为什么 代码: 使用此代码,不添加面板,只添加菜单。。。如果我删除菜单,面板将出现。面板不出现是什么意思?我可以看到这个代码的菜单和面板 如果问题仍然存在,请尝试向下移动setSize()、setResizeable()等块,如 import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.Act

我似乎无法将JMenuBar和JPanel都添加到我的框架中

为什么

代码:


使用此代码,不添加面板,只添加菜单。。。如果我删除菜单,面板将出现。

面板不出现是什么意思?我可以看到这个代码的菜单和面板

如果问题仍然存在,请尝试向下移动setSize()、setResizeable()等块,如

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;

public class Proj extends JFrame implements ActionListener {

    Proj() {
        JMenuBar rodMenu = new JMenuBar();
        JMenu menu = new JMenu("Vis");
        JMenuItem men_item1 = new JMenuItem("Statestik");

        JPanel wrapper = new JPanel();
        wrapper.setPreferredSize(new Dimension(380, 240));
        wrapper.setBorder(BorderFactory.createLineBorder(Color.black));

        setJMenuBar(rodMenu);
        rodMenu.add(menu);
        menu.add(men_item1);

        JButton b = new JButton("Test");
        wrapper.add(b);

        add(wrapper);

        setSize(400, 300);
        setResizable(false);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLayout(new FlowLayout());
        setVisible(true);
    }

    public static void main(String[] args) {
        new Proj();
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub

    }

}
尝试添加

this.getContentPane.add(wrapper)
而不是

add(wrapper)

对这正是我想要的样子!我跑的时候不是那样的吗?!?!??好的,现在我发现如果我连续运行20次,其中一个会正确运行我的代码!我讨厌每次运行时代码都不做同样的事情。。。这可能是NetBeans吗?好的,当我像你说的那样向下移动“setSize”等时,它起作用了。。。我不明白为什么,但它是有效的,谢谢:这很奇怪。这可能是由于某些类加载问题造成的?它可能不会接受您的更改。但是,当我们尝试使用setSize()、setVisible(true)等时,我看到了一些问题。首先,然后尝试添加组件,但可能不可见。这就是为什么我要你试着下楼。
add(wrapper)