0

テーブルを作成しようとしていますが、 setValueAt() を使用してテーブルに値を追加しています。

私のコードの一部:

  int nalt=1+((altmax-altmin)/incr);
    tabela=new JTable(new String[nalt][6],colunas);

    for(int i=0;i<=(nalt-1);i=i){
        for(int j=altmin;j<=altmax;j=j+incr){
            tabela.setValueAt(""+j, i, 0);

        i=i+1;
        }

問題は、値 = (""+j) をそのままにしておくと問題なく動作しますが、(j) だけを残すと多くのエラーが発生します。

私はこれをやろうとしました:

   int nalt=1+((altmax-altmin)/incr);
    tabela=new JTable(new String[nalt][6],colunas);

    for(int i=0;i<=(nalt-1);i=i){
        for(int j=altmin;j<=altmax;j=j+incr){
            Object ty=new Integer(j);
            tabela.setValueAt(ty, i, 0);

        i=i+1;
        }

この :

        int nalt=1+((altmax-altmin)/incr);
    tabela=new JTable(new String[nalt][6],colunas);

    for(int i=0;i<=(nalt-1);i=i){
        for(int j=altmin;j<=altmax;j=j+incr){
            tabela.setValueAt(new Integer(j), i, 0);

        i=i+1;
        }

しかし、それでもたくさんのエラーが発生しました。(""+j) を残して最初の方法を実行できますが、その値が必要になり、そのオブジェクトを int に変換する際に問題が発生します。エラーが発生する理由を理解しようとするのを手伝ってくれれば、それはいいことです。または、そのオブジェクトを int に変換するのを手伝ってください。つまり、.getValueAt(...) を使用する必要があり、オブジェクトが (""+number) であるか、間違っている可能性があるため、変換に問題があると思います。

ありがとう

4

1 に答える 1

1

問題は、JTable を String 配列: でセットアップしnew JTable(new String[nalt][6],colunas);た後、整数を追加しようとすることです: tabela.setValueAt(new Integer(j), i, 0);。解決策は、最初に整数配列を使用してテーブルを設定することです。

tabela=new JTable(new Integer[nalt][6],colunas);
于 2013-07-31T21:14:42.270 に答える