我正在尝试创建一个示例程序,其中包含菜单和一些选项。 问题是当我运行程序时,菜单不会出现,直到窗口重新调整大小。我不确定问题是什么,我希望得到任何帮助。
以下是我正在使用的代码:
P.S。我已经导入了我需要的所有库。
public class TextEditor {
public static void main(String[] args) {
JFrame f = new JFrame();
f.setSize(700,500);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setResizable(true);
f.setVisible(true);
JMenuBar menuBar = new JMenuBar();
f.setJMenuBar(menuBar);
JMenu file = new JMenu("File");
menuBar.add(file);
JMenuItem open = new JMenuItem("Open File");
file.add(open);
}
}
答案 0 :(得分:2)
您需要设置尺寸并在添加JMenuBar之前将JFrame设置为可见,因此难怪菜单栏最初未显示,因为它最初从未呈现过。您的解决方案是在打包之前添加JMenuBar 并可视化您的GUI,从而解决您的问题。
import java.awt.Dimension;
import java.awt.event.KeyEvent;
import javax.swing.*;
public class TextEditor {
public static void main(String[] args) {
JFrame f = new JFrame("Foo");
f.add(Box.createRigidArea(new Dimension(700, 500)));
JMenuBar menuBar = new JMenuBar();
f.setJMenuBar(menuBar);
JMenu file = new JMenu("File");
file.setMnemonic(KeyEvent.VK_F);
menuBar.add(file);
JMenuItem open = new JMenuItem("Open File");
file.add(open);
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.pack();
f.setVisible(true);
}
}