setSize n'influent pas sur la taille du bouton
J'ai un exemple de code :
import java.awt.*;
import javax.swing.*;
import javax.swing.border.BevelBorder;
public class AWT extends JFrame {
public static void main(String[] args) {
final JFrame frame = new JFrame();
frame.setPreferredSize(new Dimension(600, 450));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBackground(Color.green.darker());
Button btn_1 = new Button("Button 1");
btn_1.setBackground(Color.green.darker());
btn_1.setSize(40, 100);
Button btn_2 = new Button("Button 2");
btn_2.setBackground(Color.green.darker());
btn_2.setSize(40, 100);
Button btn_3 = new Button("Button 3");
btn_3.setBackground(Color.green.darker());
btn_3.setSize(40, 100);
JPanel players = new JPanel(new GridLayout(1, 3));
players.add(btn_1);
players.add(btn_2);
players.add(btn_3);
players.setBackground(Color.green.darker());
players.setPreferredSize(new Dimension(450, 80));
JPanel game = new JPanel();
game.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
game.setBackground(Color.green);
game.setPreferredSize(new Dimension(600, 370));
JPanel content = new JPanel();
content.setLayout(new BorderLayout());
frame.setContentPane(content);
content.add(players, BorderLayout.NORTH);
content.add(game, BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
}
}
Ce résultat me donne comme une fenêtre :
le texte d'alt http://img710.imageshack.us/img710/1573/21672037.gif
alors qu'il devrait en résulter quelque chose de plus comme ceci :
le texte d'alt http://img686.imageshack.us/img686/8948/44650673.gif
Pourquoi il n'est pas rendu dans cette voie ?
OriginalL'auteur DevAno1 | 2010-06-19
Vous devez vous connecter pour publier un commentaire.
GridLayout
ignore les boutons " taille préférée. Remplaceravec
Addendum: Voici un exemple similaire de laisser la mise en page et préféré par défaut tailles de faire le travail. En spécifiant que peu de contraintes que possible, l'apparition s'adapte à chaque plate-look & feel quand
pack()
est invoquée.Bon point; de plus ici.
OriginalL'auteur trashgod
GridLayout étend les composantes ajoutées à eux directement. J'aimerais utiliser un autre modèle, ou si vous voulez vraiment GridLayout la caisse le code ci-dessous.
Vous devez utiliser setPreferredSize sur les boutons aussi bien! (voir ci-dessous)
setBackground()
sur unJButton
a pas d'effet apparent; etsetPreferredSize()
ne peut pas prendre en compte une plate-forme spécifique des mesures de police.tout cela est vrai!
OriginalL'auteur Balint Pato