|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
バインドするコードの修正碇と申します
http://www.02.246.ne.jp/~torutk/swetools/netbeans/netbeans60_desktopapp.html こちらを参考に NetBeans6.1を使用してJTableに自作beanをバインドしているのですが コンパイル時自動生成されたコードが無検査呼び出しと出てしまいます これを訂正したいのですが、コード自体も変更できないためどうしたものかと 悩んでいます どなたかよい方法がありましたら教えてください 以上よろしくお願いします -- 碇 永志 <ikari-ml@...> --------------------------------------------------------------------- To unsubscribe, e-mail: nbdiscuss_ja-unsubscribe@... For additional commands, e-mail: nbdiscuss_ja-help@... |
|
|
Re: バインドするコードの修正こんにちは、碇さん。 高橋(徹)です。
> http://www.02.246.ne.jp/~torutk/swetools/netbeans/netbeans60_desktopapp.html > こちらを参考に > NetBeans6.1を使用してJTableに自作beanをバインドしているのですが > コンパイル時自動生成されたコードが無検査呼び出しと出てしまいます > これを訂正したいのですが、コード自体も変更できないためどうしたものかと > 悩んでいます ツールが生成するコードなので、コンパイル時のunchecked警告は気に留めて いませんでした。コンパイル時にunchecked警告が出る仕組みを少し追って みます。 beansbindingのELPropertyクラスはGenericsクラスとして定義されています。 class ELProperty<S,V> 一方、NetBeansの生成するコードは、GenericsクラスであるELPropertyクラスの 型パラメータに型変数を指定せず、 ELProperty ep = ELProperty.create("${mylist}"); のように(*1)raw typeとして記述しています。 *1) 実際に生成されるコードを省略して引用 このELPropertyインスタンスを使用している一例にJTableBindingクラスの addColumnBindingメソッドがありますが、このメソッドは引数にProperty<E, ?> 型を取ると定義されています。 ELPropertyはPropertyのサブクラスですが、raw typeで使用しているため、 コンパイル時に警告(unchecked)「未チェックまたは安全ではありません」が 生じます。 コンパイルオプションに-Xlint:uncheckedを加えれば、「無検査メソッド 呼び出し」のような警告が生じます。 BeansbindingのAPIを詳しく調査していないため、上記をどう修正すれば Generics的に正しいコードになるかは現時点では分かりません。 # Beansbindingは、かなりGenericsなAPIですね。一方SwingやJavaBeansは # まったく非GenericsなAPIなので、両者がうまくすり合うか少々疑問に # 感じます。 このunchecked警告を解消するには、 (1) NetBeansの生成するコードがGenerics対応となるようNetBeansを修正する (2) NetBeansの生成したコードを修正してGenerics対応とする (3) BeansbindingのAPIでGenericsでないものを提供する (4) @SuppressWarnings("unchecked")を、NetBeansが生成するコード void initComponents() {...} の直前に記述する といった対応が考えられます。 (1)は手に余る、(2)はGUIデザイナーが使えなくなる、(3)はJSRで仕様策定 されたものの変更なのでそれなりのプロセスが発生する、 といったところで現実的なのは(4)でしょうか。 --------------------------------------------------------------------- To unsubscribe, e-mail: nbdiscuss_ja-unsubscribe@... For additional commands, e-mail: nbdiscuss_ja-help@... |
|
|
Re: バインドするコードの修正こんにちは
現状簡単に取れる対策として(4)の方法をとることにしました 無検査呼び出しでも特に問題とはならないのですが、コンパイル時に 鬱陶しいのを見なくて済むので助かりました ありがとうございました On Tue, 15 Apr 2008 10:16:58 +0900 "TAKAHASHI,Toru" <torutk@...> 様wrote: >こんにちは、碇さん。 高橋(徹)です。 > >このunchecked警告を解消するには、 >(1) NetBeansの生成するコードがGenerics対応となるようNetBeansを修正する >(2) NetBeansの生成したコードを修正してGenerics対応とする >(3) BeansbindingのAPIでGenericsでないものを提供する >(4) @SuppressWarnings("unchecked")を、NetBeansが生成するコード > void initComponents() {...} の直前に記述する >といった対応が考えられます。 >(1)は手に余る、(2)はGUIデザイナーが使えなくなる、(3)はJSRで仕様策定 >されたものの変更なのでそれなりのプロセスが発生する、 >といったところで現実的なのは(4)でしょうか。 > -- 碇 永志 <ikari-ml@...> --------------------------------------------------------------------- To unsubscribe, e-mail: nbdiscuss_ja-unsubscribe@... For additional commands, e-mail: nbdiscuss_ja-help@... |
| Free Forum Powered by Nabble | Forum Help |