0

JcomboBox をパラメータ化できないことを示す Jcombobox のエラーを示す Eclipse IDE 例: 以下に示す行のようなもの

private final JComboBox<LaborHelper> labourname = new JComboBox<LaborHelper>();

ここで私のプロジェクト実行環境はjavaSE1.6です

4

7 に答える 7

5

JComboBox、Java 1.7より前の型指定(パラメータ化)をサポートしていませんでした。そのため、Java1.6以前ではコンパイルエラーが発生します。

于 2012-10-09T16:45:09.227 に答える
4

JComboxBoxのJava 1.6 ドキュメントを参照してくださいJComboxBox。クラスは Java 1.6 のジェネリック クラスではありません。

オブジェクトの配列またはベクトルをユーザーの選択肢として取り、オブジェクトの toString メソッドを呼び出して表示します (したがって、ラベルをカスタマイズする場合はオーバーライドする必要があります)。

ユーザーが選択した値にアクセスするには、選択した項目を次のようにキャストする必要があります。 (LaborHelper)labourname.field.getSelectedItem()

ただし、これはジェネリック クラスになったので、Java 1.7+ で動作するはずです。JComboxBox

于 2012-10-09T16:49:44.583 に答える
3

--with、Java 7の登場でサポートされますがJComboxBox、それ以前はTypeパラメーターをサポートしていませんでした。Type Parameters

このリンクを参照してください:

JComboBox警告がEclipseでデザインページを開くのを妨げています

于 2012-10-09T16:55:10.737 に答える
2

ジェネリック型のみをパラメーター化できます。JComboBox汎用バージョンはありません。

アップデート

汎用バージョンJComboBox<E>はJava7で使用できます。おそらくJavaバージョンをアップグレードする必要があります。

于 2012-10-09T16:45:54.360 に答える
0

Java 7 でも未解決のバグがあります: JDK-7067201 : Generics: BasicComboBoxRenderer

于 2013-11-20T16:02:57.823 に答える
0

次に、Eclipse (Kepler) にバグがあるようです。JRE 1.6、JDK 1.6、コンパイラ準拠レベル 1.6 を選択しましたが、型パラメーターで JComboBox を使用すると、Eclipse はエラーを表示しません。非常に奇妙な。

于 2015-07-09T09:00:24.353 に答える