[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re:Jbuilder2のGridControlコンポーネントについて




富士通SSL)高橋です。

高橋智宏 様は書かれました。
 >  おそらく、ボタン押し下げ時に全行削除するつもりであれば、
 >   gridControl1.removeAll();     という一文は
 >   gridControl1.removeAllRows(); の間違いではないかと思います。
情報ありがとうございます。
確認しましたので、結果を報告します。
用語の使い方など誤りがあれば、お手数ですが後学のためにご指摘をお願いします。

●メソッドの実装
gridControlコンポーネントは
 1.removeAll()メソッドを、java.awt.Container で実装
 2.removeAllRows()および   removeAllColumns()メソッドを 
   WritableMatrixModel インターフェースで実装

●メソッドの発行結果
1.setItems()未発行時
  (1)removeAll()を発行  →  グリッドに変化なし。エラー発生なし。
      続けて setItems()を発行  →  java.lang.NullPointerException発生
  (2)removeAllRows()を発行  →  正常終了
      続けて setItems()を発行  →  正常終了      
  (3) removeAllColumns()を発行 →  正常終了
      続けて setItems()を発行  →  正常終了 
  (4)removeAllRows()を発行  →  正常終了
      続けて removeAllColumns()を発行 →  正常終了
      続けて setItems()を発行  →  正常終了 
  (5)removeAllColumns()を発行 →  正常終了
      続けて removeAllRows()を発行  →  正常終了
      続けて setItems()を発行  →  正常終了 
  (6)removeAll()を発行  →  グリッドに変化なし。エラー発生なし。
      続けて removeAllRows()を発行  →  グリッドに変化なし。エラー発生なし。
      続けて setItems()を発行  →  ava.lang.NullPointerException発生
  (7)removeAll()を発行  →  グリッドに変化なし。エラー発生なし。
      続けて removeAllColumns()を発行  →  グリッドに変化なし。エラー発生なし。
      続けて setItems()を発行  →  ava.lang.NullPointerException発生
 2.setItems()既発行時
  (1)〜(7)とも1.ど同結果

注)正常終了の内容は以下のとおり
   setItems()  グリッドに値表示
   removeAll()  全コンポーネット削除
   removeAllRows()  全行削除
   removeAllColumns()  全列削除

●分かったこと   
   gridControlコンポーネントにはremoveAll()が実装されているが、
 全行列を削除するのではなく、コンポーネントを削除する。
 このため、以後gridControlを使用できない。

しごく当たり前の結論に至った気もします。でも、勉強になりました。

(株)富士通SSL 関西支店 システム部    高橋 知香(TAKAHASHI Chika) 
         sol@xxxxxxxxxx        XMA04773@xxxxxxxxxx
 TEL 06-6539-2051  Fax:06-6539-5052  http://www.fujitsu.co.jp/hypertext/ssl/