• category: swing folder: ClearComboBoxItemSelection title: JComboBoxを選択なしの状態にする tags: [JComboBox] author: aterai pubdate: 2017-03-27T13:52:28+09:00 description: JComboBoxの項目が何も選択されていない状態になるよう設定します。 image: https://drive.google.com/uc?id=1ytLrgrvvfQGy-YNgOPiY67cT8EaLV1yHoA

概要

JComboBoxの項目が何も選択されていない状態になるよう設定します。

サンプルコード

combo.setSelectedIndex(-1);
//or: combo.setSelectedItem(null);
View in GitHub: Java, Kotlin

解説

上記のサンプルでは、JComboBox#setSelectedIndex(-1)JComboBox#setSelectedItem(null)JComboBoxの項目がどれも選択されていない状態にするテストを行っています。

  • JDK-4180057 JComboBox needs to document that setSelectedIndex( -1 ) means no selection - Java Bug System
    • JComboBox#setSelectedIndex(-1)で選択状態がクリアされるのは当初からの仕様だが、ドキュメントに記述されたのは1.4.0からになる(日本語版は1.7.0から)
  • JComboBoxのアイテム選択の初期状態:
    • 項目数== 0の場合は、-1
    • 項目数> 0の場合は、0
  • -1以外の負の値は範囲外となり、例外が発生する:
    • java.lang.IllegalArgumentException: setSelectedIndex: -2 out of bounds

参考リンク

コメント