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

[jfriends:00298] Re: JTable で列全体をFIX(書き込み不可)に出来ませんでしょうか



山田様

ご返答ありがとうございます。
さっそくサンプルプログラムを書いて実験しようと思ったのですが、
肝心のテーブルが表示されなくて困っています。
表題の議論以前のレベルで大変申し訳ありませんが、
いちおうコードを載せてみます。

もともと、JFrameクラスを継承したクラスの中でテーブルを生成させて
いたのですが、isCellEditable()をオーバーライドするために、
JTableクラスを継承したOrgTableクラスを作って、
その中で5行4列のテーブルを生成させているのですが、
どうも上手く表示されません。

これでは、だめなのでしょうか。
お忙しいところ恐縮ですが、ご教授願えませんでしょうか。
宜しくお願いいたします。

窪田


---------- サンプル------
import java.awt.*;
import javax.swing.*;

class TableTest15 extends JFrame{
//コンストラクタ
 public TableTest15(){
      OrgTable table = new OrgTable();
      JScrollPane scr = new JScrollPane(table);
      getContentPane().add(scr);
 }

 //メイン
 public static void main(String[] args){
      JFrame jframe = new TableTest15();
      jframe.setSize(640,480);
      jframe.setVisible(true);
      jframe.setDefaultCloseOperation(jframe.EXIT_ON_CLOSE);
 }
}

class OrgTable extends JTable{
     //ここでオーバーライド(一列目のみ編集不可にする)
     public boolean isCellEditable(int row,int column){
          if(0 == column){
               return false;
          }else{
               return true;
          }
     }

  //コンストラクタ
     public OrgTable(){
          JTable table = new JTable(5,4);
     }
}

--------------ここまで----

> こんにちは、山田といいます。
>
> AbstractTableModel クラスの
>
> public boolean isCellEditable(int rowIndex, int columnIndex) {
> return false;
> }
>
> メソッドを override すればよいのでは、VisualBasic は使ったことがないので
> 分かりませんが...
>
> Hajime Kubota wrote:
>
> >いつもお世話になっております。
> >
> >JTableオブジェクトで、2列10行のテーブルを作成したのですが、
> >1列目はあらかじめ内容が決まっていてテーブル生成時に
> >データを入力済みであるので、この行をFIXというか書き込み不能
> >な状態にしたいのですがどのようにすればよいのでしょうか。
> >
> >VisualBasicでいえばテーブルのFixcolsというプロパティで
> >指定すると上記の問題を解決できるのですが、Javaは始めた
> >ばかりなので良く分かりません。
> >
> >どなたかご教授願えませんでしょうか。
> >宜しくお願いいたします。
> >
> >窪田
>