JcomboBox をパラメータ化できないことを示す Jcombobox のエラーを示す Eclipse IDE 例: 以下に示す行のようなもの
private final JComboBox<LaborHelper> labourname = new JComboBox<LaborHelper>();
ここで私のプロジェクト実行環境はjavaSE1.6です
はJComboBox
、Java 1.7より前の型指定(パラメータ化)をサポートしていませんでした。そのため、Java1.6以前ではコンパイルエラーが発生します。
JComboxBoxのJava 1.6 ドキュメントを参照してくださいJComboxBox
。クラスは Java 1.6 のジェネリック クラスではありません。
オブジェクトの配列またはベクトルをユーザーの選択肢として取り、オブジェクトの toString メソッドを呼び出して表示します (したがって、ラベルをカスタマイズする場合はオーバーライドする必要があります)。
ユーザーが選択した値にアクセスするには、選択した項目を次のようにキャストする必要があります。
(LaborHelper)labourname.field.getSelectedItem()
ただし、これはジェネリック クラスになったので、Java 1.7+ で動作するはずです。JComboxBox
--with は、Java 7の登場でサポートされますがJComboxBox
、それ以前はTypeパラメーターをサポートしていませんでした。Type Parameters
このリンクを参照してください:
ジェネリック型のみをパラメーター化できます。JComboBox
汎用バージョンはありません。
アップデート
汎用バージョンJComboBox<E>
はJava7で使用できます。おそらくJavaバージョンをアップグレードする必要があります。
Java 7 でも未解決のバグがあります: JDK-7067201 : Generics: BasicComboBoxRenderer
次に、Eclipse (Kepler) にバグがあるようです。JRE 1.6、JDK 1.6、コンパイラ準拠レベル 1.6 を選択しましたが、型パラメーターで JComboBox を使用すると、Eclipse はエラーを表示しません。非常に奇妙な。