2012-03-12 3 views
0

基本的には、私はユーザーがテーブルに情報を入力できるjtableを持っているので、テキストファイルに保存できるようにしたいと考えています。しかし、私が実行している問題は、この行に沿っています。Jtables(配列定数initilaizers)Java

private static String dataValues[][]; 

私はこのようなdataValuesを宣言することができるようにしたい私はこのように私のJTableに行を追加することができますので、私はすべての方法でそれにアクセスすることができます:私はエラーを取得しますが

dataValues = {{number, owner, txtDate"}}; 
tableModel.addRow(dataValues); 

"配列定数はイニシャライザでのみ使用できます"というdataValuesそして私は本当にその意味を理解していません。

このような変数を実際の方法で宣言すれば、それは機能します。

String[][] dataValues = {{number, owner, txtDate}}; 

しかし、プログラム内のどこにでもアクセスできるようにする必要があります。そのように宣言すると、私には役立ちません。

ご協力ありがとうございます。

答えて

1

static String[] row; 

以降:

row = new String[]{"foo", "bar", "baz"}; 
1

「次のリンクで説明するように何をする必要があるTableModelsの観点から考えるです配列定数はイニシャライザでのみ使用できます。 " - Java構文エラーです。 あなたことができますようではない use文:私は「= {...} A」それはのタイプは「」あるもの「のjavac」コンパイラに明確ではないと考えて

int[] a = new int [3]; 
a = {1,2,3}; 

。 特に、文字列などのオブジェクトの配列を扱う場合。

だから許さ定数の使用は

int[] a = {1,2,3}; 

または可能性

a = new int [] {1,2,3}; 

は上記べきあなたは本当にあなたがやろうとしている何をしたい場合は、唯一の方法。 Java構文エラー部分のこと

dataValues = new String[][] {{"number", "owner", "txtDate"}}; 

: は基本的に、これはあなたのコードは次のようになります方法です。 JTableの場合は、@Stphane Gの答えに従ってください。

0

ジェネリックテーブルモデルを使用する際の質問については、この回答をご覧ください。テーブルの列を表すフィールドを持つクラスを使用すると、非常に簡単に実装することができます。

Is there a generic TableModel we can use in JTables?