2016-12-02 3 views
0

Мое менюБар не отображается. Нужен ли мне JPanel для его отображения в моем графическом интерфейсе?Панель меню GUI Application

private void buildCtrlPanel() { 
     ctrlPanel = new JPanel(); 
     menuBar = new JMenuBar(); 
     fileMenu = new JMenu("File"); 
     optionsMenu = new JMenu("Options"); 

     JFrame frame = new JFrame(); 
     frame.setJMenuBar(menuBar); 
     frame.setSize(350, 250); 
     frame.setVisible(true); 

     ctrlPanel.setLayout(new FlowLayout()); 
     ctrlPanel.add(menuBar); 
     ctrlPanel.add(frame); 
     menuBar.add(fileMenu); 
     menuBar.add(optionsMenu); 
    } 

ответ

1

Вы можете только добавить компонент в один контейнер. Вы добавили JMenuBar надлежащим образом в JFrame - отлично, но затем вы также добавили его неправильно в JPanel (почему?), Который использует FlowLayout, макеты, которые не работают с JMenuBars (опять же почему?). Решение: не делайте этого. Добавьте его в JFrame, как вы уже делали, и оставьте это.

Вы также добавляете JFrame в JPanel - то, что вам не следует делать, и снова, что предполагает, что вы захотите пройти учебники Swing перед тем, как продолжить.

  • Вы можете найти ссылки на Swing, учебные пособия и другие Свинги ресурсов здесь: Swing Info
  • Обучающее меню Качелей можно найти здесь: How to use Menus
Смежные вопросы