2012-03-12 44 views
0

基本上,我正在做的是我有一個jtable,用戶可以在表中輸入他們的信息,然後我希望能夠將它保存到文本文件中。然而,我遇到的問題與此有關。Jtables(Array常量初始化程序)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

「數組常量只能在初始化程序中使用。「 - 是一個java語法錯誤。 你不能使用的語句,如:

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

我想用「A = {...}」目前尚不清楚與「javac」編譯器是什麼類型「一」是。 特別是在處理諸如字符串之類的對象數組時。

所以允許使用常量是

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

或可能

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

上面應該如果你真的想要做你正在嘗試做的唯一途徑。 從本質上講,這是你的代碼會是什麼樣子:

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

,對於Java的語法錯誤的部分。對於JTable的東西,請按照@Stphane G的回答