今回は愚痴っぽい話。
Java Swingではある範囲のパラメータの値を選択させる部品としてスクロールバー(JScrollBar)ではなく、より高機能なスライダ(JSlider)の利用が推奨されているようである。
確かにJSliderでは目盛りや数値を簡単に付けられるので便利である。
値に対するラベルを設定できるが、それを独自のものでやろうとすると、
public void setLabelTable(Dictionary labels);
を使うことになる。
このDictionary (java.util.Dictionary) は抽象クラスで実体の取れるサブクラスは Hashtable (java.util.Hashtable) しかない。
HashtableクラスはCollections Frameworkではレガシー扱いであり、
またDictionaryクラスはドキュメントで
と書いてあるのだが...
Swingも面白いというか、変な作り方をしてあるもんだ。
Java Swingではある範囲のパラメータの値を選択させる部品としてスクロールバー(JScrollBar)ではなく、より高機能なスライダ(JSlider)の利用が推奨されているようである。
確かにJSliderでは目盛りや数値を簡単に付けられるので便利である。
値に対するラベルを設定できるが、それを独自のものでやろうとすると、
public void setLabelTable(Dictionary labels);
を使うことになる。
このDictionary (java.util.Dictionary) は抽象クラスで実体の取れるサブクラスは Hashtable (java.util.Hashtable) しかない。
HashtableクラスはCollections Frameworkではレガシー扱いであり、
またDictionaryクラスはドキュメントで
注: このクラスは現在使われていません。新しい実装では、このクラスを拡張しないで Map インタフェースを実装してください。
と書いてあるのだが...
Swingも面白いというか、変な作り方をしてあるもんだ。