Java - Отображение массива с использованием JTable - PullRequest
0 голосов
/ 02 июня 2018

Я создал программу, которая читает текстовый файл и организует его в массив с плавающей точкой.Сейчас я пытаюсь отобразить этот массив с помощью JTable, но, несмотря на то, что часы поиска в Google не нашли ответа на мою проблему.

Мой массив данных создан следующим образом

//organize data
public void createDataArray(String[][] n) {
    for(int x=0; x<n.length;x++) {
        for(int y=0; y<n[x].length;y++) {
            switch(y) {
            case 0: 
                dataArray[x][y] = 0;
                break;
            case 1: 
                dataArray[x][y] = new Float(n[x][y]);
                break;
            case 2: 
                dataArray[x][y] = new Float(n[x][y]);
                break;
            case 3: 
                dataArray[x][y] = new Float(n[x][y]);
                break;
            case 4: 
                dataArray[x][y] = new Float(n[x][y]);
                break;
            case 5: 
                dataArray[x][y] = new Float(n[x][y]);
                break;
            case 6: 
                dataArray[x][y] = new Float(n[x][y]);
                break;
            case 7: 
                dataArray[x][y] = new Float(n[x][y]);
                break;

            }
        }
    }
}

Япытаясь отобразить этот массив с помощью JTable, вот так

table = new JTable(data, columnNames);

Он отлично работает с этим объектом ...

Object[][] data = {
                {a.getDate(0), a.getStockPrice(0)},
                {a.getDate(1), a.getStockPrice(1)},
    };

Однако мне нужно найти способ отображать данные непосредственно измой массив данных.Я попытался определить объект, используя цикл for, но у меня появляется ошибка «Константы массива могут использоваться только при инициализации».

Я знаю, что это довольно простой вопрос, но любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 02 июня 2018

попробуйте это:

for(int i = 0; i< dataArray[0].length ; i++){

Object[] row = {dataArray[i][0],dataArray[i][1]};
            DefaultTableModel model = (DefaultTableModel) table.getModel();
            model.addRow(row); 

}

это работает, только если dataArray [] [] всегда имеет одинаковую длину в обоих столбцах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...