Swing/DecimalFormatSymbols のバックアップ(No.11)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/DecimalFormatSymbols へ行く。
- 1 (2013-01-08 (火) 19:54:03)
- 2 (2015-03-31 (火) 20:54:39)
- 3 (2016-08-23 (火) 18:11:58)
- 4 (2017-09-29 (金) 18:06:04)
- 5 (2019-03-20 (水) 16:17:16)
- 6 (2020-12-23 (水) 12:29:36)
- 7 (2023-05-30 (火) 22:14:03)
- 8 (2025-01-03 (金) 08:57:02)
- 9 (2025-01-03 (金) 09:01:23)
- 10 (2025-01-03 (金) 09:02:38)
- 11 (2025-01-03 (金) 09:03:21)
- 12 (2025-01-03 (金) 09:04:02)
- 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:
Summary
SpinnerNumberModel
を使用するJSpinner
を無効にしたとき、数値を非表示にします。
Screenshot

Advertisement
Source Code Examples
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;
}
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;
}
View in GitHub: Java, KotlinExplanation
- デフォルト
- 非表示
JSpinner
からJFormattedTextField
を取得し、無効の場合の文字色を無効場合の背景色と同じにして非表示化
- 半角スペース
JSpinner
からJFormattedTextField
を取得し、DecimalFormatSymbols#setNaN(...)
メソッドを使用して値がNaN
の場合は表示する文字列を半角スペース(U+0020
)に変更
----
JSpinner
からJFormattedTextField
を取得し、DecimalFormatSymbols#setNaN(...)
メソッドを使用して値がNaN
の場合は表示する文字列を----
に変更