import javax.swing.*;
import java.awt.event.*;
//import java.awt.event.ActionListener;
class Test extends JFrame
{
JButton qb=new JButton("quit");
JPanel p1=new JPanel();
JMenuBar menubar = new JMenuBar();
JMenu file = new JMenu("File");
JMenuItem eMenuItem = new JMenuItem("Exit");
public Test()
{
//setLayout();
setTitle("this is a test");
setSize(300,300);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setAlwaysOnTop(true);
setResizable(true);
setExtendedState( this.getExtendedState()|JFrame.MAXIMIZED_BOTH );//to set initial state of frame as minimized
menubar.add(file);
add(menubar);
file.add(eMenuItem);
}
public static void main (String[] args)
{
new Test();
}
}
我写了上面的代码,并试图找出菜单栏出现在框架左侧的原因,但失败了。另外,layoutmanager 在测试构造函数中不起作用。我还尝试在代码中插入一个按钮,但它也没有出现。那么框架出现这种行为的可能原因是什么以及解决方案是什么?
最佳答案
您可以尝试调用setJMenuBar(..)
更改代码
menubar.add(file);
add(menubar);
file.add(eMenuItem);
至
menubar.add(file);
file.add(eMenuItem);
this.setJMenuBar(menubar);
然后就可以正常工作了。
关于java - 菜单栏出现在 JFrame 的左侧。如何让它出现在JFrame的顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19811400/