2011-07-21 2 views

Répondre

0

Pour une augmentation verticale: augmentez simplement la hauteur de JSpinner. Pour une augmentation horizontale: utilisez un gestionnaire de disposition spécial qui prend la largeur des flèches et définit les limites en fonction de celle-ci. JSpinner a trois composants à l'intérieur: Les deux premiers sont des flèches haut et bas, le troisième est le champ de texte.

0

J'ai créé cette méthode qui gère la modification de la taille du bouton. Je voulais un gros bouton pour l'écran tactile. Je l'utilise pour régler l'heure, les heures et les minutes. Il gère parfaitement 2 caractères.

public static void setScrollBarWidthOnJSpinnerWith2Numbers(JSpinner spinner) { 
    spinner.setLayout(null); 
    int fontSize = 160; 
    int buttonSize = 87; 
    Component c = spinner.getComponent(0); 
    if (c instanceof BasicArrowButton) { 
     BasicArrowButton b = (BasicArrowButton) c; 
     b.setBounds(190, 2, 0, 0); 
     b.setSize(buttonSize, buttonSize); 
    } 
    Component c2 = spinner.getComponent(1); 
    if (c2 instanceof BasicArrowButton) { 
     BasicArrowButton b = (BasicArrowButton) c2; 
     b.setBounds(190, buttonSize + 2, 0, 0); 
     b.setSize(buttonSize, buttonSize); 
    } 
    Component c3 = spinner.getComponent(2); 
    if (c3 instanceof NumberEditor || c3 instanceof ListEditor) { 
     DefaultEditor ne = (DefaultEditor) c3; 
     ne.setBounds(2, 2, 10, 20); 
     ne.setSize(180, fontSize); 
     ne.setAlignmentY(0); 
    } 
    spinner.setFont(new Font("Tahoma", Font.PLAIN, fontSize)); 
    spinner.setSize(new Dimension(279, 179)); 
} 
Questions connexes