2014-08-29 17 views
2

Parfois, 2 éléments sont sur mon menu, parfois tous, mais si les éléments ne sont pas visibles, j'ai besoin de redimensionner ma fenêtre. Si je redimensionne ma fenêtre, les éléments apparaissent. Pourquoi?Pourquoi je ne peux pas voir tous les éléments de ma barre de menu?

Ceci est mon code:

//Class TextEditor start 
public class TextEditor extends JFrame{ 

private JMenuBar menuBar; 
private JMenu file,edit,format,view,help; 
private JMenuItem newFile; 
private JMenuItem exit; 

//Main method start 
public static void main(String[] args){ 
    try{ 
     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
    }catch (Exception e){ 

    } 
    new TextEditor(); 
} 
//Main class end 


//Class constructor start 
private TextEditor(){ 
     super("Untitled"); 
     sendUI(this); 
     sendMenuBar(); 
    } 
//Class constructor end 

//Menu bar start// 
public void sendMenuBar(){ 
    menuBar = new JMenuBar(); 
    setJMenuBar(menuBar); 

    //File menu and Items 
    file = new JMenu(" File "); 
    newFile = new JMenuItem("New"); 
    exit = new JMenuItem("Exit"); 
    menuBar.add(file); 
    file.add(newFile); 
    file.add(exit); 

    //Edit menu and items 
    edit = new JMenu(" Edit "); 
    menuBar.add(edit); 

    //Format menu and items 
    format = new JMenu(" Format "); 
    menuBar.add(format); 

    //View menu and items 
    view = new JMenu(" View "); 
    menuBar.add(view); 

    //Help menu and items 
    help = new JMenu(" Help "); 
    menuBar.add(help); 
} 


private void sendUI(TextEditor texteditor) { 
    texteditor.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    texteditor.setSize(700,400); 
    texteditor.setLocationRelativeTo(null); 
    texteditor.setVisible(true); 
} 

} 
//Class TextEditor end 

Lorsque l'erreur apparaît:

enter image description here

Après avoir redimensionné la fenêtre:

enter image description here

+2

pouvez-vous appeler senUI après sendMenuBar. – StackFlowed

+0

Merci @Aeshang. C'était le problème. –

+0

s'il vous plaît marquer la réponse comme correcte si cela a fonctionné pour vous. – StackFlowed

Répondre

0

Vous devez appeler senUI après sendMenuBar.

Questions connexes