2011-12-20 43 views
-3

デフォルト関数を使用せずにパラメータを渡すことによってJTEXTFIELDプロパティを変更する方法。たとえば、JTextField LEFTプロパティを変更する場合は、this.howのようなパラメータ(コントロール名、左、100)を使用することを意味します。私はJTextFieldプロパティにパラメータを渡すことによってJtextFieldプロパティを変更しますか?JTextField用のJavaスイングプログラム

+6

この質問は、明確ではない、と私はきちんと理解していればオブジェクトフィールドを直接変更したい場合は、通常は間違っています。 – MByD

+0

あなたが今使っているコードを表示し、できるだけコード内で違うやり方を説明してください。 – kdgregory

答えて

2

Reflection APIを使用すると、間接的にセッターメソッドを呼び出すことができます。理論的には、setterを呼び出さずにフィールド値を設定することもできますが、そうしないとカプセル化が中断されます。リフレクションAPIを使用する

最も簡単な方法は、それを直接呼び出すことはなく、既製のライブラリを使用していないだろう - たとえば、Apache Commons BeanUtils

BeanUtils.setProperty(textField, "left", 100); 
関連する問題