2011-07-21 53 views

回答

0

垂直增加:只需增加JSpinner的身高。 對於水平增加:使用一個特殊的佈局管理器,它可以獲取箭頭的寬度並根據它設置邊界。 JSpinner裏面有三個組件:前兩個是上下箭頭,第三個是文本字段。

0

我創建了這個方法來處理改變按鈕的大小。我想要一個觸摸屏的大按鈕。我使用它來設置時間,無論是小時還是分鐘。它可以完美處理2個字符。

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)); 
}