2012-03-12 2 views
0

Хорошо, что я делаю, у меня есть jtable, в которой пользователи могут вводить свою информацию в таблицу, а затем я хочу сохранить ее в текстовом файле. Однако проблема, с которой я столкнулась, заключается в этом.Jtables (постоянные инициализаторы массива) java

private static String dataValues[][]; 

Я хочу, чтобы иметь возможность объявить dataValues ​​как это так я могу обращаться к этому в каждом методе, так что я могу добавить строки в моей JTable так:

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

однако я получаю сообщение об ошибке на dataValues ​​говорят, что «константы массива могут использоваться только в инициализаторах». И я действительно не понимаю, что это значит.

если я объявляю переменную как это в фактическом методе, в котором она работает.

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

Но мне нужно иметь к нему доступ в любом месте программы, так что объявление этого не поможет.

Спасибо за помощь заранее.

ответ

2

JTable представляет данные внутри с помощью TableModel. То, что JTable делает в конструкторе, преобразует исходный массив в TableModel. Что вам нужно сделать, это думать в терминах TableModels, как описано в следующей ссылке: http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#data

1

Вы всегда можете инициализировать массив переменных, как так:

static String[] row; 

и позже:

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

" Константы массива могут использоваться только в инициализаторах ». - является синтаксической ошибкой java. Вы не можете использовать заявление, как:

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

Я думаю, что с «а = {...}» не ясно «JAVAC» компилятором, что тип «А». Особенно при работе с массивом объектов, таких как строки.

Так использование констант разрешенных являются

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

Или, возможно,

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

Выше следует единственный путь, если вы действительно хотите делать то, что вы пытаетесь сделать. По сути, это то, как ваш код будет выглядеть следующим образом:

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

, что для части ошибок синтаксиса Java. Для материала JTable, пожалуйста, следуйте ответам @Stphane G

0

Посмотрите на этот ответ, который я дал для вопроса об использовании общей таблицы. Вы найдете использование класса с полями, представляющими столбцы таблицы, с очень простой реализацией для работы с

Is there a generic TableModel we can use in JTables?

Смежные вопросы