最近幫忙做了一個java swing 的 項目。做到一半,我 突然有一種 爲什麼要用swing 不用 web 的自問。繼續寫吧。把遇到了的一些小細節記錄一下,以後可能用得着也可能都不會用了。
JButton 設置 文本與邊框的 距離
默認 按鈕與邊緣是有一定距離的,當需要設置比較小的按鈕時,就顯示不出文字了,
所以需要設置JButton.setMargin(new Insets(0, 0, 0, 0)); 這樣就可以把按鈕設置的很小,文字也全部顯示出來
JTextField 只能輸入特定的文字,數字,字母
如果需要只輸入特定的 類型,例如 只能輸入數字 則可以 重寫他的Document 來實現。
JTextField.setDocument(new PlainDocument() {
private static final long serialVersionUID = 1L;
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
if (str == null) {
return;
}
// 匹配數字,如果需要匹配其他的,可以自行設置。
if (!str.matches("[0-9]*")) {
return;
}
super.insertString(offs, str, a);
}
});