Как создать JTable только с заголовками столбцов, без добавления строк - PullRequest
0 голосов
/ 02 июня 2018

Я пытаюсь создать JTable без каких-либо строк данных, добавлены только заголовки столбцов.Как это сделать?Идея состоит в том, чтобы добавить или удалить строки позже с помощью события нажатия кнопки.

Ответы [ 2 ]

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

Существует много способов создания и определения JTable.Чтобы сделать то, что вы хотите, используйте подход TableModel.Вы можете определить пустую модель и заполнить ее данными позже.См. Создание JTable для некоторых примеров.

Вот простая демонстрация модели пустой таблицы.

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableColumnModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;

public class JTableDemo {

    public static void main(String args[]) {

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        TableModel model = new DefaultTableModel();

        Object headers[] = { "Column One", "Column Two", "Column Three"};

        TableColumnModel columnModel = new DefaultTableColumnModel();
        TableColumn firstColumn = new TableColumn(1);
        firstColumn.setHeaderValue(headers[0]);
        columnModel.addColumn(firstColumn);

        TableColumn secondColumn = new TableColumn(0);
        secondColumn.setHeaderValue(headers[1]);
        columnModel.addColumn(secondColumn);

        TableColumn thirdColumn = new TableColumn(0);
        thirdColumn.setHeaderValue(headers[2]);
        columnModel.addColumn(thirdColumn);

        JTable table = new JTable(model, columnModel);

        JScrollPane scrollPane = new JScrollPane(table);
        frame.add(scrollPane, BorderLayout.CENTER);
        frame.setSize(300, 150);
        frame.setVisible(true);

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

Все просто, создайте JTable с помощью конструктора new JTable(Vector rowData, Vector columnNames), где rowData - данные для новой таблицы, а columnNames - имена каждого столбца.Если вы хотите создать просто таблицу с заголовком и без строк, сделайте пустым Vector rows.

Vector rows = new Vector();
Vector headers = new Vector();
headers.addElement("Id");
headers.addElement("First name");
headers.addElement("Last name");

JTable table = new JTable(rows, headers);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...