Jtable java заполнение данными

JTable – отображаем данные в виде таблицы

Очень часто возникает необходимость в приложениях показать данные в виде таблицы с определенным количеством строк и столбцов. В Java Swing для отображения табличных данных используется комопнент JTable. JTable внутри себя не содержит данные, а служит только для их отображения.

Рассмотрим простой пример создания и использования таблицы. Для этого мы создадим таблицу, заполним её тестовыми данными и разместим на панели прокрутки. Размещение таблицы на панели прокрутки – это обычная практика, потому что это удобно и красиво.

Существует несколько способов того, как сказать JTable, какие данные и столбцы следует отображать. Здесь мы рассмотрим самый простой способ. Для начала определим, какие стобцы мы хотим показывать в таблице. Для примера я взял столбцы проводника Windows – Name (Имя файла или папки), Last modified (Дата последней модификации), Type (Тип) и Size (Размер). Собираем столбцы в массив строк вот так:

Далее необходимо определить данные, которые мы хотим отображать в таблице. Длеается это тоже при помощи массива строк вот так:

Далее необходимо создать собственно сам JTable и передать ему массив столбцов и массив с данным для показа.

JTable table = new JTable(data, columnNames);

Потом создаем JScrollPane, на котором размещаем таблицу и добавляем панель на JFrame. Внешний вид получившегося приложения можно увидеть на рисунке ниже.

jtable_sample

Исходный код приложения представлен ниже.

import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; public class TestFrame extends JFrame < public static void createGUI() < JFrame frame = new JFrame("Test frame"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); String[] columnNames = < "Name", "Last modified", "Type", "Size" >; String[][] data = < , , , , , , , , , , , , , , >; JTable table = new JTable(data, columnNames); JScrollPane scrollPane = new JScrollPane(table); frame.getContentPane().add(scrollPane); frame.setPreferredSize(new Dimension(450, 200)); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); > public static void main(String[] args) < javax.swing.SwingUtilities.invokeLater(new Runnable() < public void run() < JFrame.setDefaultLookAndFeelDecorated(true); createGUI(); >>); > >

Источник

Читайте также:  Иллюстрация параграфа 1
Оцените статью