Использование массивов для хранения данных таблицы
Простой способ предоставить данные для
Класс должен использовать два массива. Первый содержит имена столбцов в
массив:
Второй массив - это массив двумерных объектов, который содержит данные для таблицы. В этот массив, например, входят шесть олимпийских пловцов:
Ключевым моментом здесь является обеспечение того, чтобы два массива имели одинаковое количество столбцов.
Построение JTable
Когда у вас есть данные, создать таблицу очень просто. Просто позвони
JTableконструктор и передайте ему два массива: вы, вероятно, захотите добавить полосы прокрутки, чтобы пользователь мог видеть все данные. Для этого поместите.
JTableв
JScrollPane: Теперь, когда таблица отображается, вы увидите столбцы и строки данных и сможете прокручивать вверх и вниз.
Объект JTable предоставляет интерактивную таблицу. Если вы дважды щелкнете по любой из ячеек, вы сможете редактировать содержимое - хотя любое редактирование влияет только на графический интерфейс, а не на базовые данные. (An слушатель событий должно быть реализовано для обработки изменения данных.).
Чтобы изменить ширину столбцов, наведите указатель мыши на край заголовка столбца и перетащите его вперед и назад. Чтобы изменить порядок столбцов, нажмите и удерживайте заголовок столбца, затем перетащите его на новую позицию.
Сортировка столбцов
Чтобы добавить возможность сортировки строк, вызовите
setAutoCreateRowSortermethod: если для этого метода установлено значение true, вы можете щелкнуть заголовок столбца, чтобы отсортировать строки в соответствии с содержимым ячеек под этим столбцом.
Изменение внешнего вида таблицы
Чтобы контролировать видимость линий сетки, используйте
setShowGridМетод: Чтобы изменить цвет таблицы в целом, используйте.
setBackgroundи
setGridColorметоды: ширина столбцов таблицы равна по умолчанию. Если размер контейнера, в котором находится таблица, будет изменен, ширина столбцов будет увеличиваться и уменьшаться, а размер контейнера увеличивается или уменьшается. Если пользователь изменяет размер столбца, то ширина столбцов справа изменится в соответствии с новым размером столбца.
Начальная ширина столбца может быть установлена с помощью метода setPreferredWidth или столбца. Используйте класс TableColumn, чтобы сначала получить ссылку на столбец, а затем метод setPreferredWidth, чтобы установить размер:
Выбор строк
По умолчанию пользователь может выбрать строки таблицы одним из трех способов:
- Чтобы выбрать одну строку, выберите ячейку таблицы в этой строке.
- Чтобы выбрать непрерывные несколько строк, наведите указатель мыши на несколько строк или выберите ячейки таблицы с нажатой ячейкой смещения.
- Чтобы выбрать не непрерывные несколько строк, выделите ячейки таблицы, удерживая нажатой клавишу управляющий ключ (командный ключ для Mac).
Использование табличной модели
Использование пары массивов для данных таблицы может быть полезно, если вы хотите простой строкатаблица, которую можно редактировать. Если вы посмотрите на массив данных, который мы создали, он содержит другие типы данных, чем
-
столбец содержит
и
столбец содержит
. Тем не менее, оба этих столбца отображаются в виде строк. Чтобы изменить это поведение, создайте модель таблицы.
Модель таблицы управляет данными, которые будут отображаться в таблице. Для реализации табличной модели вы можете создать класс, который расширяет
учебный класс:
Шесть методов, описанных выше, используются в этом пошаговом руководстве, но есть и другие методы, определяемые
класс, который полезен в манипулировании данными в
объект. При расширении класса использовать
от вас требуется реализовать только
,
и
методы.
Создайте новый класс, реализующий эти пять методов, показанных выше:
Это имеет смысл в этом примере для
класс для хранения двух строк, содержащих данные таблицы. Тогда
,
и
методы могут использовать массивы для предоставления значений для таблицы. Кроме того, обратите внимание, как
Метод был написан, чтобы запретить редактирование первых двух столбцов.
Теперь вместо использования двух массивов для создания
объект, мы можем использовать
учебный класс:
Когда код запустится, вы увидите, что
объект использует модель таблицы, потому что ни одна из ячеек таблицы не является редактируемой, а имена столбцов используются правильно. Если
метод не был реализован, тогда имена столбцов в таблице будут отображаться как имена по умолчанию A, B, C, D и т. д.
Давайте теперь рассмотрим метод
. Уже одно это делает модель таблицы достойной реализации, поскольку она обеспечивает
объект с типом данных, содержащийся в каждом столбце. Если вы помните, массив данных объекта имеет два столбца, которые не являются
типы данных:
столбец, который содержит целые, и
столбец, который содержит
. Знание этих типов данных меняет функциональность, предоставляемую
объект для этих столбцов. Выполнение примера кода таблицы с реализованной моделью таблицы означает, что
столбец на самом деле будет серией флажков.
Добавление редактора ComboBox
Вы можете определить собственные редакторы для ячеек в таблице. Например, вы можете сделать поле со списком альтернативой стандартному редактированию текста для поля.
Вот пример использования
поле страны:
Чтобы установить редактор по умолчанию для столбца страны, используйте
класс, чтобы получить ссылку на столбец страны, и
способ установить
как редактор ячеек: