2010-03-26 5 views
0

Salutations. J'essaie d'apprendre Java et Swing (aujourd'hui c'est mon premier jour).Swing Dimensions du menu

J'ai été capable de configurer un menu dans mon application de test. mais les objets occupent très peu de place (ils sont étroits). Comment puis-je étendre la quantité d'espace qu'il utilise?

Screenshot http://www.freeimagehosting.net/image.php?087aa4c9dc.jpg

Je suis en train d'étudier Teach Yourself Java 6 en 21 jours 5th Ed, Java Swing, 2e édition, 2002 et Apprenez à programmer avec Java en 24 heures, 4e édition (2005), mais aucun d'entre eux faire la lumière sur cette question.

EDIT:

Code Menu:

JMenu _Game = new JMenu("Game"); 

    JMenuItem _New = new JMenuItem("New"); 

    JMenuItem _Exit = new JMenuItem("Exit"); 

    JMenu _Turn = new JMenu("Turn"); 

    JMenuItem _Red = new JMenuItem("Red"); 
    JMenuItem _Yellow = new JMenuItem("Yellow"); 

    _Turn.add(_Red); 
    _Turn.add(_Yellow); 

    _Game.add(_New); 
    _Game.addSeparator(); 
    _Game.add(_Turn); 
    _Game.addSeparator(); 
    _Game.add(_Exit); 

    JMenu _Help = new JMenu("Help"); 
    JMenuItem _About = new JMenuItem("About"); 
    _Help.add(_About); 


    JMenuBar _MenuBar = new JMenuBar(); 
    _MenuBar.add(_Game); 
    _MenuBar.add(_Help); 

    setJMenuBar(_MenuBar); 

EDIT: Résolu!

JMenuItem _New = new JMenuItem("New  "); 

Ajoutez simplement des espaces si nécessaire! simple.

+0

Pouvez-vous poster le code réel? – pajton

+3

Java n'est pas un acronyme. Java n'est pas un acronyme. Java n'est pas un acronyme. Java n'est pas un acronyme. Java n'est pas un acronyme. –

+0

@Dave Jarvis: Dimensions du menu pour un jeu? Qu'est-ce que ça veut dire? – iTEgg

Répondre

0

EDIT: Résolu!

JMenuItem _New = new JMenuItem("New  "); 

Ajoutez simplement des espaces si nécessaire! simple.

Ceci est un hack et pas un joli mais n'a pas encore rencontré d'autres.

0

Eh bien, la largeur du menu est automatiquement ajustée à la largeur du texte le plus long. Pourquoi voudriez-vous que le menu soit plus large que nécessaire?

Si vous le devez, vous devriez pouvoir utiliser setMinimumSize() pour forcer une largeur minimale.

+2

ou d'ailleurs, pourquoi DOS aurait-il besoin de plus de 640k de mémoire? – Zak

+0

Je ne veux pas utiliser de chiffres pour réaliser cela. Je suis à la recherche d'une solution de mise en page. – iTEgg

+0

Pourquoi voudriez-vous que le menu soit plus large que nécessaire: si vous regardez les fenêtres, tous les éléments du menu ont de l'espace autour d'eux. le rend plus joli. – iTEgg

0

Les menus en tant que tels semblent quand même bien. Mais si vraiment besoin d'avoir un hack, ici, il est Préparez-vous pour un vrai bidouillage rapide et sale.

private static final SPACES=" "; 
JMenu _Game = new JMenu(SPACES + "Game" + SPACES); 
JMenuItem _New = new JMenuItem(SPACES + "New" + SPACES); 
JMenuItem _Exit = new JMenuItem(SPACES + "Exit" + SPACES); 
JMenu _Turn = new JMenu(SPACES + "Turn" + SPACES); 
JMenuItem _Red = new JMenuItem(SPACES + "Red" + SPACES); 
JMenuItem _Yellow = new JMenuItem(SPACES + "Yellow" + SPACES); 
+0

J'ai posté cette solution ci-dessus déjà! – iTEgg