Я пытаюсь отобразить мой JMenuBar в графическом интерфейсе, однако он просто отображается как 1-пиксельная строка вверху.JMenuBar не отображается
Это мой код ...
public LibraryView() {
setBounds(100,100,640,480);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
JMenuBar b1 = new JMenuBar();
JMenu m1 = new JMenu("Test");
JMenuItem i1 = new JMenuItem("Item1");
this.setJMenuBar(b1);
}
Может кто-то пожалуйста, помогите мне понять, что это неправильно.
1+ для справок. –
Спасибо! Забыл добавить предметы в бар, ах .. Не могли бы вы вкратце объяснить, зачем нужно упаковывать()? Код, похоже, отлично работает без него. – YemSalat
Большинство графических интерфейсов Java являются автоматическими, что означает, что они будут расти и сокращаться в зависимости от размера окна и компонентов внутри него. Вызов 'pack()' будет вычислять предпочтительный размер окна, так что все компоненты также могут отображаться в их сжатом размере. Вероятно, это не совсем необходимо для вас, поскольку вы «setBounds()», но его хорошая привычка вызывать 'pack()' независимо. – wattostudios