我有这个代码,我想添加一个jMenuBar1到框架,但在执行过程中,我有一个空窗口
public hhh() {
// TODO Auto-generated constructor stub
frame = new JFrame("A window");
frame.setSize(500, 500);
frame.setVisible(true);
frame.setLayout(null);
Container c= frame.getContentPane();
c.setLayout(null);
jMenuBar1 = new JMenuBar();
jMenuBar1.setBounds(10, 10, 100, 500);
jMenuBar1.setBorder(new SoftBevelBorder(BevelBorder.RAISED));
jMenuBar1.setFont(new Font("Calibri", 1, 24));
jMenu1.setText("File");
jMenuBar1.add(jMenu1);
jMenu2.setText("Edit");
jMenuBar1.add(jMenu2);
frame.setJMenuBar(jMenuBar1);
c.add(jMenuBar1);
frame.pack();
}请帮帮我
发布于 2016-05-27 02:31:58
将Container和JFrame的布局设置为null。因此,不能显示任何内容。只要不这样做,它应该会起作用的。事实上,永远不要将布局设置为null。
发布于 2016-05-27 03:48:04
我想将jMenuBar1添加到frame
frame.setJMenuBar(jMenuBar1);
//c.add(jMenuBar1); // get rid of this可以使用setJMenuBar(...)将菜单栏添加到框架中方法是正确的。
但是,您还将菜单栏添加到内容窗格,这是不正确的。去掉这句话。
一个组件只能有一个父项。因此,菜单栏将从框架中删除并添加到内容窗格中。但是内容窗格使用的是空布局,并且菜单栏的大小是(0,0),因此没有什么可显示的。
所以:
https://stackoverflow.com/questions/37468407
复制相似问题