Swing/DecimalFormatSymbols のバックアップの現在との差分(No.2)
- category: swing folder: DecimalFormatSymbols title: JSpinnerの文字列を非表示にする tags: [JSpinner, SpinnerNumberModel, JFormattedTextField, DecimalFormatSymbols] author: aterai pubdate: 2009-08-03T20:40:16+09:00 description: SpinnerNumberModelを使用するJSpinnerを無効にしたとき、数値を非表示にします。 image:
概要
概要
SpinnerNumberModel
を使用するJSpinner
を無効にしたとき、数値を非表示にします。
Screenshot
Advertisement
サンプルコード
サンプルコード
private static JSpinner makeSpinner1(SpinnerNumberModel m) {
JSpinner s = new JSpinner(m);
JFormattedTextField ftf = getJFormattedTextField(s);
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
ftf.setFormatterFactory(makeFFactory(dfs));
ftf.setDisabledTextColor(UIManager.getColor("TextField.disabledColor"));
return s;
}
#spandel
View in GitHub: Java, Kotlin#spanend
private static JSpinner makeSpinner2(SpinnerNumberModel m) {
JSpinner s = new JSpinner(m);
JFormattedTextField ftf = getJFormattedTextField(s);
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setNaN(" ");
ftf.setFormatterFactory(makeFFactory(dfs));
return s;
}
解説
- デフォルト
JSpinner
からJFormattedTextField
を取得し、この無効の場合の文字色を無効場合の背景色と同じにして、非表示になるようにしています。JSpinner
からJFormattedTextField
を取得し、DecimalFormatSymbols#setNaN
メソッドを使用して、値がNaN
の場合、表示する文字列をスペースに変更しています。JSpinner
からJFormattedTextField
を取得し、DecimalFormatSymbols#setNaN
メソッドを使用して、値がNaN
の場合、表示する文字列を----
に変更しています。
解説
- デフォルト
- 非表示
-
JSpinner
からJFormattedTextField
を取得し、無効の場合の文字色を無効場合の背景色と同じにして非表示化
-
- 半角スペース
-
JSpinner
からJFormattedTextField
を取得し、DecimalFormatSymbols#setNaN(...)
メソッドを使用して値がNaN
の場合は表示する文字列を半角スペース(U+0020
)に変更
-
-
----
-
JSpinner
からJFormattedTextField
を取得し、DecimalFormatSymbols#setNaN(...)
メソッドを使用して値がNaN
の場合は表示する文字列を----
に変更
-