私は現在、リフレクションを使用してGUIクラスの宣言されたフィールドを取得しています。しかし、私は必要なオブジェクトにフィールドを型キャストする方法を見つけることができません。refectionフィールドを別のオブジェクトにタイプキャストすることはどのように可能ですか?
私が必要とするのは、Fieldの実際のオブジェクトを取得できることです。たとえば、返されるフィールドの型がJLabelの場合、オブジェクトにアクセスできるようにJLabelのフィールドを型キャストする必要があります。
次は私がしかし、実際のオブジェクトのコンポーネントが取得されていない、使用しているコードです:私はあなたがいない、あなたはこのような何かをしたいと仮定し
for (int i = 0; i< fields.length; i++) {
this.fields.add(fields[i]);
Class<?> fieldType = fields[i].getType();
try {
Component c = (Component) fieldType.newInstance();
System.out.println(c.getX + " " + c.getY());
} catch (InstantiationException ex) {
Logger.getLogger(HeatMap.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(HeatMap.class.getName()).log(Level.SEVERE, null, ex);
}
}
何例外を?スタックトレースを表示してください – amit
実際に何を達成しようとしていますか? (あなたのために行うために型キャストが必要ですか?) – ruakh
UIオブジェクトを使用できるようにするために、他のUIコンポーネントにフィールドを型キャストできる必要があります。たとえば、フィールドをJLabelに変換します。 – ict1991