Класс JTable

Все реализованные интерфейсы:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, CellEditorListener, ListSelectionListener, RowSorterListener, TableColumnModelListener, TableModelListener, Scrollable
@JavaBean(defaultProperty="UI",
          description="A component which displays data in a two dimensional grid.")
public class JTable
extends JComponent
implements TableModelListener, Scrollable, TableColumnModelListener, ListSelectionListener, CellEditorListener, Accessible, RowSorterListener

Класс JTable используется для отображения и редактирования обычных двумерных таблиц ячеек. См. Как использовать таблицы в Java Tutorial для пошаговой документации и примеров использования JTable.

Класс JTable имеет множество возможностей для настройки его отрисовки и редактирования, но предоставляет значения по умолчанию для этих функций, чтобы простые таблицы можно было легко настроить. Например, чтобы создать таблицу с 10 строками и 10 столбцами чисел:

TableModel dataModel = new AbstractTableModel() {
          public int getColumnCount() { return 10; }
          public int getRowCount() { return 10;}
          public Object getValueAt(int row, int col) { return Integer.valueOf(row*col); }
      };
      JTable table = new JTable(dataModel);
      JScrollPane scrollpane = new JScrollPane(table);

JTable обычно размещаются внутри JScrollPane. По умолчанию JTable будет изменять свою ширину таким образом, чтобы горизонтальная полоса прокрутки не была необходима. Чтобы разрешить горизонтальную полосу прокрутки, вызовите setAutoResizeMode(int) со значением AUTO_RESIZE_OFF. Обратите внимание, что если вы хотите использовать JTable в автономном представлении (вне JScrollPane) и хотите отобразить заголовок, вы можете получить его с помощью getTableHeader() и отобразить отдельно.

Чтобы включить сортировку и фильтрацию строк, используйте RowSorter. Вы можете настроить сортировщик строк двумя способами:

  • Непосредственно задайте RowSorter. Например: table.setRowSorter(new TableRowSorter(model)).
  • Установите свойство autoCreateRowSorter в значение true, чтобы JTable создал RowSorter за вас. Например: setAutoCreateRowSorter(true).

При разработке приложений, использующих JTable, стоит уделить пристальное внимание структурам данных, которые будут представлять данные таблицы. Класс DefaultTableModel является реализацией модели, которая использует Vector Vector Object для хранения значений ячеек. Помимо копирования данных из приложения в DefaultTableModel, также можно обернуть данные в методы интерфейса TableModel, чтобы данные можно было передать JTable напрямую, как в примере выше. Это часто приводит к более эффективным приложениям, потому что модель свободна выбирать внутреннее представление, которое лучше всего подходит для данных. Хорошее правило для выбора использования AbstractTableModel или DefaultTableModel заключается в использовании AbstractTableModel в качестве базового класса для создания подклассов и DefaultTableModel при отсутствии необходимости в создании подклассов.

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

Класс JTable использует целые числа исключительно для указания строк и столбцов модели, которую он отображает. Класс JTable просто принимает табличный диапазон ячеек и использует getValueAt(int, int) для извлечения значений из модели во время отрисовки. Важно помнить, что индексы столбцов и строк, возвращаемые различными методами JTable, относятся к JTable (представлению) и не обязательно совпадают с индексами, используемыми моделью.

По умолчанию столбцы могут быть переупорядочены в JTable, так что столбцы представления отображаются в другом порядке по сравнению с столбцами модели. Это никак не влияет на реализацию модели: при переупорядочении столбцов JTable сохраняет новый порядок столбцов внутри себя и преобразует свои индексы столбцов перед запросом к модели.

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

Аналогично, при использовании функций сортировки и фильтрации, предоставляемых RowSorter, основная TableModel не должна знать, как выполнять сортировку, а RowSorter будет обрабатывать ее. Преобразования координат необходимы при использовании методов на основе строк JTable с основной TableModel. Все методы JTable на основе строк относятся к RowSorter, что не обязательно совпадает с TableModel. Например, выделение всегда относится к JTable, поэтому при использовании RowSorter вам нужно будет выполнить преобразование с помощью convertRowIndexToView или convertRowIndexToModel. Следующее показывает, как преобразовать координаты из JTable в координаты основной модели:

int[] selection = table.getSelectedRows();
   for (int i = 0; i < selection.length; i++) {
     selection[i] = table.convertRowIndexToModel(selection[i]);
   }
   // selection is now in terms of the underlying TableModel

По умолчанию, если включена сортировка, JTable сохранит выделение и переменные высоты строк в терминах модели при сортировке. Например, если строка 0 (в терминах основной модели) сейчас выделена, после сортировки строка 0 (в терминах основной модели) будет выделена. Визуально выделение может измениться, но в терминах основной модели оно останется неизменным. Единственным исключением является случай, если индекс модели больше не отображается или был удален. Например, если строка 0 (в терминах модели) была отфильтрована, выделение будет пустым после сортировки.

J2SE 5 добавляет методы в JTable для удобного доступа к некоторым общим потребностям печати. Простые новые методы print() позволяют быстро и легко добавить поддержку печати в ваше приложение. Кроме того, доступен новый метод getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat) для более сложных потребностей печати.

Как и все классы JComponent , вы можете использовать InputMap и ActionMap для ассоциации объекта Action с KeyStroke и выполнения действия при указанных условиях.

Предупреждение: Swing не является потокобезопасным. Для получения дополнительной информации см. Политику потоков Swing.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. Пожалуйста, см. XMLEncoder.

С:
1.2
См. также:
DefaultTableModel, TableRowSorter, Serialized Form

Вложенные классы

Модификатор и тип Класс Описание
protected class  JTable.AccessibleJTable

Этот класс реализует поддержку доступности для класса JTable.

static class  JTable.DropLocation

Подкласс TransferHandler.DropLocation, представляющий место расположения для перетаскивания JTable.

static class  JTable.PrintMode

Режимы печати, используемые при печати JTable.

Вложенные классы/интерфейсы, объявленные в классе javax.swing.JComponent

JComponent.AccessibleJComponent

Вложенные классы/интерфейсы, объявленные в классе java.awt.Container

Container.AccessibleAWTContainer

Вложенные классы/интерфейсы, объявленные в классе java.awt.Component

Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy

Поля

Модификатор и тип Поле Описание
static int AUTO_RESIZE_ALL_COLUMNS

При всех операциях изменения размера пропорционально изменяет размер всех столбцов.

static int AUTO_RESIZE_LAST_COLUMN

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

static int AUTO_RESIZE_NEXT_COLUMN

При изменении столбца в пользовательском интерфейсе изменяет следующий столбец в противоположном направлении.

static int AUTO_RESIZE_OFF

Не производит автоматической корректировки ширины столбцов; вместо этого используется горизонтальная полоса прокрутки.

static int AUTO_RESIZE_SUBSEQUENT_COLUMNS

Во время изменения в пользовательском интерфейсе последующие столбцы изменяются для сохранения общей ширины; это стандартное поведение.

protected boolean autoCreateColumnsFromModel

Таблица запросит TableModel, чтобы создать набор столбцов по умолчанию, если это значение истинно.

protected int autoResizeMode

Определяет, автоматически ли таблица изменяет ширину столбцов так, чтобы они занимали всю ширину таблицы, и как происходит это изменение размера.

protected TableCellEditor cellEditor

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

protected boolean cellSelectionEnabled

Устарело с платформой Java 2 v1.3.

protected TableColumnModel columnModel

TableColumnModel таблицы.

protected TableModel dataModel

TableModel таблицы.

protected Hashtable<Object,​Object> defaultEditorsByColumnClass

Таблица объектов, которые отображают и редактируют содержимое ячейки, индексируемая по классу, как объявлено в getColumnClass в интерфейсе TableModel.

protected Hashtable<Object,​Object> defaultRenderersByColumnClass

Таблица объектов, которые отображают содержимое ячейки, индексируемая по классу, как объявлено в getColumnClass в интерфейсе TableModel.

protected int editingColumn

Идентифицирует столбец редактируемой ячейки.

protected int editingRow

Идентифицирует строку редактируемой ячейки.

protected Component editorComp

Если редактирование активное, Component обрабатывающее редактирование.

protected Color gridColor

Цвет сетки.

protected Dimension preferredViewportSize

Используется интерфейсом Scrollable для определения начальной видимой области.

protected int rowHeight

Высота каждой строки в таблице в пикселях.

protected int rowMargin

Высота отступа между ячейками в каждой строке в пикселях.

protected boolean rowSelectionAllowed

Истинно, если в этой таблице разрешен выбор строк.

protected Color selectionBackground

Цвет фона выделенных ячеек.

protected Color selectionForeground

Цвет переднего плана выделенных ячеек.

protected ListSelectionModel selectionModel

ListSelectionModel таблицы, используется для отслеживания выбора строк.

protected boolean showHorizontalLines

Таблица рисует горизонтальные линии между ячейками, если showHorizontalLines истинно.

protected boolean showVerticalLines

Таблица рисует вертикальные линии между ячейками, если showVerticalLines истинно.

protected JTableHeader tableHeader

TableHeader работающий с таблицей.

Поля, унаследованные от класса javax.swing.JComponent

listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW

Поля, унаследованные от класса java.awt.Component

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

Поля, унаследованные от интерфейса java.awt.image.ImageObserver

ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

Конструкторы

Конструктор Описание
JTable()

Создает таблицу по умолчанию, которая инициализируется моделью данных по умолчанию, моделью столбцов по умолчанию и моделью выбора по умолчанию.

JTable​(int numRows, int numColumns)

Создает таблицу с numRows и numColumns пустых ячеек, используя DefaultTableModel.

JTable​(Object[][] rowData, Object[] columnNames)

Создает таблицу для отображения значений в двумерном массиве, rowData, с именами столбцов, columnNames.

JTable​(Vector<? extends Vector> rowData, Vector<?> columnNames)

Создает таблицу для отображения значений в Vector массива Vectors, rowData, с именами столбцов, columnNames.

JTable​(TableModel dm)

Создаёт таблицу, инициализированную dm в качестве модели данных, моделью столбцов по умолчанию и моделью выбора по умолчанию.

JTable​(TableModel dm, TableColumnModel cm)

Создаёт таблицу, инициализированную dm в качестве модели данных, cm в качестве модели столбцов и моделью выбора по умолчанию.

JTable​(TableModel dm, TableColumnModel cm, ListSelectionModel sm)

Создает таблицу, инициализированную dm в качестве модели данных, cm в качестве модели столбцов и sm в качестве модели выбора.

Методы

Модификатор и тип Метод Описание
void addColumn​(TableColumn aColumn)

Добавляет aColumn в конец массива столбцов, хранящегося в модели столбцов этого JTable.

void addColumnSelectionInterval​(int index0, int index1)

Добавляет столбцы с index0 по index1, включительно, к текущему выбору.

void addNotify()

Вызывает метод configureEnclosingScrollPane.

void addRowSelectionInterval​(int index0, int index1)

Добавляет строки с index0 по index1, включительно, к текущему выбору.

void changeSelection​(int rowIndex, int columnIndex, boolean toggle, boolean extend)

Обновляет модели выбора таблицы в зависимости от состояния двух флагов: toggle и extend.

void clearSelection()

Снимает выделение со всех выделенных столбцов и строк.

void columnAdded​(TableColumnModelEvent e)

Вызывается при добавлении столбца в модель столбцов таблицы.

int columnAtPoint​(Point point)

Возвращает индекс столбца, в котором находится point, или -1, если результат не входит в диапазон [0, getColumnCount()-1].

void columnMarginChanged​(ChangeEvent e)

Вызывается при перемещении столбца из-за изменения отступа.

void columnMoved​(TableColumnModelEvent e)

Вызывается при перестановке столбца.

void columnRemoved​(TableColumnModelEvent e)

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

void columnSelectionChanged​(ListSelectionEvent e)

Вызывается при изменении модели выбора TableColumnModel.

protected void configureEnclosingScrollPane()

Если этот JTable является viewportView содержащего JScrollPane (обычная ситуация), настройте этот ScrollPane, среди прочего, установив модель столбцов таблицы в качестве columnHeaderView области прокрутки.

int convertColumnIndexToModel​(int viewColumnIndex)

Преобразует индекс столбца в представлении на viewColumnIndex в индекс столбца в модели таблицы.

int convertColumnIndexToView​(int modelColumnIndex)

Преобразует индекс столбца в модели таблицы на modelColumnIndex в индекс столбца в представлении.

int convertRowIndexToModel​(int viewRowIndex)

Преобразует индекс строки в представлении в соответствующий индекс в базовой TableModel.

int convertRowIndexToView​(int modelRowIndex)

Преобразует индекс строки в представлении в TableModel в индекс в представлении.

protected TableColumnModel createDefaultColumnModel()

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

void createDefaultColumnsFromModel()

Создает столбцы по умолчанию для таблицы из модели данных с использованием метода getColumnCount, определенного в интерфейсе TableModel.

protected TableModel createDefaultDataModel()

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

protected void createDefaultEditors()

Создаёт по умолчанию редакторы ячеек для объектов, чисел и значений булевого типа.

protected void createDefaultRenderers()

Создаёт по умолчанию визуализаторы ячеек для объектов, чисел, двойных чисел, дат, булевых значений и значков.

protected ListSelectionModel createDefaultSelectionModel()

Возвращает объект модели выбора по умолчанию, который является DefaultListSelectionModel.

protected JTableHeader createDefaultTableHeader()

Возвращает объект таблицы заголовка по умолчанию, который является JTableHeader.

static JScrollPane createScrollPaneForTable​(JTable aTable)

Устарело.

С версии Swing 1.0.2, заменено на new JScrollPane(aTable).

void doLayout()

Вызывает расположение строк и столбцов этой таблицы.

boolean editCellAt​(int row, int column)

Программно запускает редактирование ячейки по координатам row и column, если эти индексы находятся в допустимом диапазоне, и ячейка в этих координатах редактируема.

boolean editCellAt​(int row, int column, EventObject e)

Программно запускает редактирование ячейки по координатам row и column, если эти индексы находятся в допустимом диапазоне, и ячейка в этих координатах редактируема.

void editingCanceled​(ChangeEvent e)

Вызывается при отмене редактирования.

void editingStopped​(ChangeEvent e)

Вызывается при завершении редактирования.

AccessibleContext getAccessibleContext()

Получает AccessibleContext, связанный с этой JTable.

boolean getAutoCreateColumnsFromModel()

Определяет, будет ли таблица создавать столбцы по умолчанию из модели.

boolean getAutoCreateRowSorter()

Возвращает true если при изменении модели должен быть создан и установлен новый сортировщик RowSorter, установленный в таблицу; в противном случае возвращает false.

int getAutoResizeMode()

Возвращает режим автоматической подгонки размера таблицы.

TableCellEditor getCellEditor()

Возвращает активный редактор ячейки, который равен null если таблица в данный момент не редактируется.

TableCellEditor getCellEditor​(int row, int column)

Возвращает подходящий редактор для ячейки, заданной row и column.

Rectangle getCellRect​(int row, int column, boolean includeSpacing)

Возвращает прямоугольник для ячейки, расположенной на пересечении row и column.

TableCellRenderer getCellRenderer​(int row, int column)

Возвращает подходящий визуализатор для ячейки, заданной строкой и столбцом.

boolean getCellSelectionEnabled()

Возвращает true, если модели выбора строк и столбцов включены.

TableColumn getColumn​(Object identifier)

Возвращает объект TableColumn для столбца в таблице, идентификатор которого равен identifier, при сравнении с использованием equals.

int getColumnCount()

Возвращает количество столбцов в модели столбцов.

TableColumnModel getColumnModel()

Возвращает TableColumnModel, содержащий всю информацию о столбцах этой таблицы.

String getColumnName​(int column)

Возвращает имя столбца, отображаемого в представлении в позиции столбца column.

boolean getColumnSelectionAllowed()

Возвращает true, если можно выделять столбцы.

TableCellEditor getDefaultEditor​(Class<?> columnClass)

Возвращает редактор, который будет использоваться, если редактор не был задан в TableColumn.

TableCellRenderer getDefaultRenderer​(Class<?> columnClass)

Возвращает визуализатор ячейки, который будет использоваться, если визуализатор не был задан в TableColumn.

boolean getDragEnabled()

Возвращает, включено ли автоматическое управление перетаскиванием.

JTable.DropLocation getDropLocation()

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

DropMode getDropMode()

Возвращает режим падения для этого компонента.

int getEditingColumn()

Возвращает индекс столбца, содержащего ячейку, которая в данный момент редактируется.

int getEditingRow()

Возвращает индекс строки, содержащей ячейку, которая в данный момент редактируется.

Component getEditorComponent()

Возвращает компонент, обрабатывающий сеанс редактирования.

boolean getFillsViewportHeight()

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

Color getGridColor()

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

Dimension getIntercellSpacing()

Возвращает горизонтальное и вертикальное расстояние между ячейками.

TableModel getModel()

Возвращает TableModel, который предоставляет данные, отображаемые этой JTable.

Dimension getPreferredScrollableViewportSize()

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

Printable getPrintable​(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat)

Возвращает Printable для использования при печати этой JTable.

int getRowCount()

Возвращает количество строк, которые могут быть показаны в JTable, при неограниченном пространстве.

int getRowHeight()

Возвращает высоту строки таблицы в пикселях.

int getRowHeight​(int row)

Возвращает высоту ячеек в пикселях, в row.

int getRowMargin()

Получает количество пустого места между ячейками в пикселях.

boolean getRowSelectionAllowed()

Возвращает true, если строки можно выбрать.

RowSorter<? extends TableModel> getRowSorter()

Возвращает объект, ответственный за сортировку.

int getScrollableBlockIncrement​(Rectangle visibleRect, int orientation, int direction)

Возвращает visibleRect.height или visibleRect.width, в зависимости от ориентации этой таблицы.

boolean getScrollableTracksViewportHeight()

Возвращает false, чтобы указать, что высота области просмотра не определяет высоту таблицы, если getFillsViewportHeight установлено в true, и предпочтительная высота таблицы меньше высоты области просмотра.

boolean getScrollableTracksViewportWidth()

Возвращает false, если autoResizeMode установлено в AUTO_RESIZE_OFF, что указывает, что ширина области просмотра не определяет ширину таблицы.

int getScrollableUnitIncrement​(Rectangle visibleRect, int orientation, int direction)

Возвращает приращение прокрутки (в пикселях), которое полностью раскрывает новую строку или столбец (в зависимости от ориентации).

int getSelectedColumn()

Возвращает индекс первого выбранного столбца, -1, если столбец не выбран.

int getSelectedColumnCount()

Возвращает количество выбранных столбцов.

int[] getSelectedColumns()

Возвращает индексы всех выбранных столбцов.

int getSelectedRow()

Возвращает индекс первой выбранной строки, -1, если строка не выбрана.

int getSelectedRowCount()

Возвращает количество выбранных строк.

int[] getSelectedRows()

Возвращает индексы всех выбранных строк.

Color getSelectionBackground()

Возвращает цвет фона для выбранных ячеек.

Color getSelectionForeground()

Возвращает цвет переднего плана для выбранных ячеек.

ListSelectionModel getSelectionModel()

Возвращает ListSelectionModel, используемый для сохранения состояния выбора строк.

boolean getShowHorizontalLines()

Возвращает true, если таблица рисует горизонтальные линии между ячейками, false, если нет.

boolean getShowVerticalLines()

Возвращает true, если таблица рисует вертикальные линии между ячейками, false, если нет.

boolean getSurrendersFocusOnKeystroke()

Возвращает true, если редактору нужно получить фокус, когда нажатия клавиш активируют редактор.

JTableHeader getTableHeader()

Возвращает tableHeader, используемый этой JTable.

String getToolTipText​(MouseEvent event)

Переопределяет метод JComponent в getToolTipText для возможности использования подсказок рендерера, если у него установлен текст.

TableUI getUI()

Возвращает объект L&F, который отображает этот компонент.

String getUIClassID()

Возвращает суффикс, используемый для построения имени класса L&F, используемого для отображения этого компонента.

boolean getUpdateSelectionOnSort()

Возвращает true, если выделение должно обновляться после сортировки.

Object getValueAt​(int row, int column)

Возвращает значение ячейки в row и column.

protected void initializeLocalVars()

Инициализирует свойства таблицы значениями по умолчанию.

boolean isCellEditable​(int row, int column)

Возвращает true, если ячейка в row и column редактируема.

boolean isCellSelected​(int row, int column)

Возвращает true, если указанные индексы находятся в допустимом диапазоне строк и столбцов, и ячейка в указанной позиции выбрана.

boolean isColumnSelected​(int column)

Возвращает true, если указанный индекс находится в допустимом диапазоне столбцов и столбец в этом индексе выбран.

boolean isEditing()

Возвращает true, если ячейка находится в режиме редактирования.

boolean isRowSelected​(int row)

Возвращает true, если указанный индекс находится в допустимом диапазоне строк, и строка в этом индексе выбрана.

void moveColumn​(int column, int targetColumn)

Перемещает столбец column в позицию, которую в данный момент занимает столбец targetColumn в представлении.

protected String paramString()

Возвращает строковое представление этой таблицы.

Component prepareEditor​(TableCellEditor editor, int row, int column)

Подготавливает редактор, запрашивая у модели данных значение и состояние выделения ячейки в row, column.

Component prepareRenderer​(TableCellRenderer renderer, int row, int column)

Подготавливает рендерер, запрашивая у модели данных значение и состояние выделения ячейки в row, column.

boolean print()

Удобный метод, который отображает диалог печати, а затем печатает эту JTable в режиме PrintMode.FIT_WIDTH, без заголовка или подвала.

boolean print​(JTable.PrintMode printMode)

Удобный метод, который отображает диалог печати, а затем печатает эту JTable в заданном режиме печати, без заголовка или подвала.

boolean print​(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat)

Удобный метод, который отображает диалог печати, а затем печатает эту JTable в заданном режиме печати, с указанным заголовком и подвалом.

boolean print​(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive)

Печатает эту таблицу, как указано в методе print с полным функционалом, с указанным по умолчанию принтером как службой печати.

boolean print​(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive, PrintService service)

Печатает эту JTable.

void removeColumn​(TableColumn aColumn)

Удаляет aColumn из массива столбцов этой JTable.

void removeColumnSelectionInterval​(int index0, int index1)

Снимает выделение столбцов с index0 по index1 включительно.

void removeEditor()

Отбрасывает объект редактора и освобождает занимаемое им место для отображения ячеек.

void removeNotify()

Вызывает метод unconfigureEnclosingScrollPane.

void removeRowSelectionInterval​(int index0, int index1)

Снимает выделение строк с index0 по index1 включительно.

protected void resizeAndRepaint()

Эквивалентно revalidate и repaint.

int rowAtPoint​(Point point)

Возвращает индекс строки, в которой point находится, или -1, если результат не находится в диапазоне [0, getRowCount()-1].

void selectAll()

Выбирает все строки, столбцы и ячейки в таблице.

void setAutoCreateColumnsFromModel​(boolean autoCreateColumnsFromModel)

Устанавливает флаг autoCreateColumnsFromModel этой таблицы.

void setAutoCreateRowSorter​(boolean autoCreateRowSorter)

Указывает, должен ли быть создан RowSorter для таблицы всякий раз, когда её модель изменяется.

void setAutoResizeMode​(int mode)

Устанавливает режим автоматического изменения размера таблицы при её изменении размера.

void setCellEditor​(TableCellEditor anEditor)

Устанавливает активный редактор ячеек.

void setCellSelectionEnabled​(boolean cellSelectionEnabled)

Устанавливает, разрешает ли эта таблица одновременное существование выбора столбцов и выбора строк.

void setColumnModel​(TableColumnModel columnModel)

Устанавливает модель столбцов для этой таблицы на columnModel и регистрируется для получения уведомлений о слушателях от новой модели столбцов.

void setColumnSelectionAllowed​(boolean columnSelectionAllowed)

Устанавливает, можно ли выбирать столбцы в этой модели.

void setColumnSelectionInterval​(int index0, int index1)

Выбирает столбцы с index0 по index1 включительно.

void setDefaultEditor​(Class<?> columnClass, TableCellEditor editor)

Устанавливает стандартный редактор ячеек, который будет использоваться, если в TableColumn не задан редактор.

void setDefaultRenderer​(Class<?> columnClass, TableCellRenderer renderer)

Устанавливает стандартный рендерер ячеек, который будет использоваться, если в TableColumn не задан рендерер.

void setDragEnabled​(boolean b)

Включает или отключает автоматическую обработку перетаскивания.

void setDropMode​(DropMode dropMode)

Устанавливает режим опускания для этого компонента.

void setEditingColumn​(int aColumn)

Устанавливает переменную editingColumn.

void setEditingRow​(int aRow)

Устанавливает переменную editingRow.

void setFillsViewportHeight​(boolean fillsViewportHeight)

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

void setGridColor​(Color gridColor)

Устанавливает цвет, используемый для рисования линий сетки, на gridColor и перерисовывает.

void setIntercellSpacing​(Dimension intercellSpacing)

Устанавливает rowMargin и columnMargin — высоту и ширину пространства между ячейками — на intercellSpacing.

void setModel​(TableModel dataModel)

Устанавливает модель данных для этой таблицы на dataModel и регистрируется в ней для получения уведомлений о слушателях от новой модели данных.

void setPreferredScrollableViewportSize​(Dimension size)

Устанавливает предпочтительный размер области просмотра для этой таблицы.

void setRowHeight​(int rowHeight)

Устанавливает высоту всех ячеек в пикселях на rowHeight, перевалидирует и перерисовывает.

void setRowHeight​(int row, int rowHeight)

Устанавливает высоту для row на rowHeight, перевалидирует и перерисовывает.

void setRowMargin​(int rowMargin)

Устанавливает количество пустого пространства между ячейками в соседних строках.

void setRowSelectionAllowed​(boolean rowSelectionAllowed)

Устанавливает, можно ли выбирать строки в этой модели.

void setRowSelectionInterval​(int index0, int index1)

Выбирает строки с index0 по index1 включительно.

void setRowSorter​(RowSorter<? extends TableModel> sorter)

Устанавливает RowSorter.

void setSelectionBackground​(Color selectionBackground)

Устанавливает цвет фона для выбранных ячеек.

void setSelectionForeground​(Color selectionForeground)

Устанавливает цвет переднего плана для выбранных ячеек.

void setSelectionMode​(int selectionMode)

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

void setSelectionModel​(ListSelectionModel selectionModel)

Устанавливает модель выбора строк для этой таблицы на selectionModel и регистрируется для получения уведомлений о слушателях от новой модели выбора.

void setShowGrid​(boolean showGrid)

Устанавливает, рисует ли таблица линии сетки вокруг ячеек.

void setShowHorizontalLines​(boolean showHorizontalLines)

Устанавливает, рисует ли таблица горизонтальные линии между ячейками.

void setShowVerticalLines​(boolean showVerticalLines)

Устанавливает, рисует ли таблица вертикальные линии между ячейками.

void setSurrendersFocusOnKeystroke​(boolean surrendersFocusOnKeystroke)

Устанавливает, получают ли редакторы в этом JTable фокус клавиатуры при активации редактора в результате перенаправления JTable событий клавиатуры для ячейки.

void setTableHeader​(JTableHeader tableHeader)

Устанавливает tableHeader для работы с этим JTable на newHeader.

void setUI​(TableUI ui)

Устанавливает объект L&F, который рендерит этот компонент и перерисовывает.

void setUpdateSelectionOnSort​(boolean update)

Указывает, должна ли быть обновлена выделка после сортировки.

void setValueAt​(Object aValue, int row, int column)

Устанавливает значение для ячейки в модели таблицы по координатам row и column.

void sizeColumnsToFit​(boolean lastColumnOnly)

Устарело.

Начиная с версии Swing 1.0.3, заменено на doLayout().

void sizeColumnsToFit​(int resizingColumn)

Устарело, начиная с Java 2 Platform v1.4.

void sorterChanged​(RowSorterEvent e)

RowSorterListener уведомление о том, что RowSorter изменился каким-то образом.

void tableChanged​(TableModelEvent e)

Вызывается, когда TableModel этой таблицы генерирует TableModelEvent.

protected void unconfigureEnclosingScrollPane()

Отменяет действие configureEnclosingScrollPane, заменяя columnHeaderView окружающего полотна прокрутки на null.

void updateUI()

Уведомление от UIManager о том, что L&F изменился.

void valueChanged​(ListSelectionEvent e)

Вызывается при изменении выбора строк — перерисовывается для отображения нового выбора.

Методы, объявленные в классе javax.swing.JComponent

addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update

Методы, объявленные в классе java.awt.Container

add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree

Методы, объявленные в классе java.awt.Component

action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Поля

AUTO_RESIZE_OFF

public static final int AUTO_RESIZE_OFF

Не изменять ширину столбцов автоматически; вместо этого использовать горизонтальную полосу прокрутки.

См. также:
Значения константных полей

AUTO_RESIZE_NEXT_COLUMN

public static final int AUTO_RESIZE_NEXT_COLUMN

При изменении размера столбца в пользовательском интерфейсе, сместить следующий столбец в противоположном направлении.

См. также:
Значения константных полей

AUTO_RESIZE_SUBSEQUENT_COLUMNS

public static final int AUTO_RESIZE_SUBSEQUENT_COLUMNS

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

См. также:
Значения константных полей

AUTO_RESIZE_LAST_COLUMN

public static final int AUTO_RESIZE_LAST_COLUMN

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

См. также:
Значения константных полей

AUTO_RESIZE_ALL_COLUMNS

public static final int AUTO_RESIZE_ALL_COLUMNS

При всех операциях изменения размера, пропорционально изменить размер всех столбцов.

См. также:
Значения константных полей

dataModel

protected TableModel dataModel

Модель данных таблицы.

columnModel

protected TableColumnModel columnModel

Модель столбцов таблицы.

selectionModel

protected ListSelectionModel selectionModel

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

tableHeader

protected JTableHeader tableHeader

Заголовок таблицы.

rowHeight

protected int rowHeight

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

rowMargin

protected int rowMargin

Высота отступа между ячейками в каждой строке в пикселях.

gridColor

protected Color gridColor

Цвет сетки.

showHorizontalLines

protected boolean showHorizontalLines

Таблица рисует горизонтальные линии между ячейками, если showHorizontalLines имеет значение true.

showVerticalLines

protected boolean showVerticalLines

Таблица рисует вертикальные линии между ячейками, если showVerticalLines имеет значение true.

autoResizeMode

protected int autoResizeMode

Определяет, автоматически ли таблица изменяет ширину столбцов для заполнения всей ширины таблицы, и как происходит это изменение.

autoCreateColumnsFromModel

protected boolean autoCreateColumnsFromModel

Таблица запросит модель данных для создания набора столбцов по умолчанию, если это значение true.

preferredViewportSize

protected Dimension preferredViewportSize

Используется интерфейсом Scrollable для определения начальной видимой области.

rowSelectionAllowed

protected boolean rowSelectionAllowed

True, если разрешено выделение строк в этой таблице.

cellSelectionEnabled

protected boolean cellSelectionEnabled

Устарело начиная с Java 2 платформы v1.3. Пожалуйста, используйте свойство rowSelectionAllowed и свойство columnSelectionAllowed интерфейса columnModel. Или используйте метод getCellSelectionEnabled.

editorComp

protected transient Component editorComp

Если происходит редактирование, то Component отвечает за редактирование.

cellEditor

protected transient TableCellEditor cellEditor

Активный объект редактора ячейки, который перекрывает область экрана, занимаемую текущей ячейкой, и позволяет пользователю изменить её содержимое. null если таблица не находится в режиме редактирования.

editingColumn

protected transient int editingColumn

Идентификатор столбца редактируемой ячейки.

editingRow

protected transient int editingRow

Идентификатор строки редактируемой ячейки.

defaultRenderersByColumnClass

protected transient Hashtable<Object,Object> defaultRenderersByColumnClass

Таблица объектов, отображающих содержимое ячейки, индексированная по классам, объявленным в getColumnClass интерфейсе TableModel.

defaultEditorsByColumnClass

protected transient Hashtable<Object,Object> defaultEditorsByColumnClass

Таблица объектов, отображающих и редактирующих содержимое ячейки, индексированная по классам, объявленным в getColumnClass интерфейсе TableModel.

selectionForeground

protected Color selectionForeground

Цвет переднего плана выделенных ячеек.

selectionBackground

protected Color selectionBackground

Цвет заднего плана выделенных ячеек.

Конструкторы

JTable

public JTable()

Создаёт таблицу по умолчанию, инициализированную с моделью данных по умолчанию, моделью столбцов по умолчанию и моделью выделения по умолчанию.

См. также:
createDefaultDataModel(), createDefaultColumnModel(), createDefaultSelectionModel()

JTable

public JTable(TableModel dm)

Создаёт таблицу, инициализированную моделью данных dm, моделью столбцов по умолчанию и моделью выделения по умолчанию.

Параметры:
dm - модель данных таблицы
См. также:
createDefaultColumnModel(), createDefaultSelectionModel()

JTable

public JTable(TableModel dm,
              TableColumnModel cm)

Создаёт таблицу, инициализированную моделью данных dm, моделью столбцов cm и моделью выделения по умолчанию.

Параметры:
dm - модель данных таблицы
cm - модель столбцов таблицы
См. также:
createDefaultSelectionModel()

JTable

public JTable(TableModel dm,
              TableColumnModel cm,
              ListSelectionModel sm)

Создаёт таблицу, инициализированную моделью данных dm, моделью столбцов cm и моделью выделения sm. Если любой из параметров имеет значение по умолчанию, этот метод инициализирует таблицу соответствующей моделью по умолчанию. Флаг autoCreateColumnsFromModel устанавливается в false, если cm не равно null, в противном случае он устанавливается в true, и модель столбцов заполняется подходящими TableColumns для столбцов в dm.

Параметры:
dm - модель данных таблицы
cm - модель столбцов таблицы
sm - модель выделения строк таблицы
См. также:
createDefaultDataModel(), createDefaultColumnModel(), createDefaultSelectionModel()

JTable

public JTable(int numRows,
              int numColumns)

Создаёт таблицу с numRows и numColumns пустых ячеек, используя DefaultTableModel. Столбцы будут иметь имена в формате "A", "B", "C" и т.д.

Параметры:
numRows - количество строк в таблице
numColumns - количество столбцов в таблице
См. также:
DefaultTableModel

JTable

public JTable(Vector<? extends Vector> rowData,
              Vector<?> columnNames)

Создаёт таблицу для отображения значений из Vector Vectors, rowData, с именами столбцов columnNames. Vectors в rowData содержит значения для этой строки. Другими словами, значение ячейки в строке 1, столбце 5 можно получить следующим кодом:

((Vector)rowData.elementAt(1)).elementAt(5);
.

Параметры:
rowData - данные для новой таблицы
columnNames - имена каждого столбца

JTable

public JTable(Object[][] rowData,
              Object[] columnNames)

Создаёт таблицу для отображения значений из двумерного массива rowData, с именами столбцов columnNames. rowData - массив строк, так что значение ячейки в строке 1, столбце 5 можно получить следующим кодом:

rowData[1][5];
.

Все строки должны иметь одинаковую длину с columnNames.

Параметры:
rowData - данные для новой таблицы
columnNames - имена каждого столбца

Методы

addNotify

public void addNotify()

Вызывает метод configureEnclosingScrollPane.

Переопределяет:
addNotify в классе JComponent
См. также:
configureEnclosingScrollPane()

configureEnclosingScrollPane

protected void configureEnclosingScrollPane()

Если этот JTable является viewportView содержащей JScrollPane (обычная ситуация), настроить этот ScrollPane, в том числе, установив tableHeader в качестве columnHeaderView области прокрутки. Когда JTable добавляется в JScrollPane обычным способом, используя new JScrollPane(myTable), вызывается addNotify, в JTable (когда таблица добавляется в область просмотра). Метод JTable класса addNotify в свою очередь вызывает этот метод, который защищен, чтобы эта процедура установки по умолчанию могла быть переопределена подклассом.

См. также:
addNotify()

removeNotify

public void removeNotify()

Вызывает метод unconfigureEnclosingScrollPane.

Переопределяет:
removeNotify в классе JComponent
См. также:
unconfigureEnclosingScrollPane()

unconfigureEnclosingScrollPane

protected void unconfigureEnclosingScrollPane()

Отменяет эффект configureEnclosingScrollPane , заменив columnHeaderView содержащей области прокрутки на null. Метод JTable класса removeNotify вызывает этот метод, который защищен, чтобы эту процедуру отключения по умолчанию можно было переопределить подклассом.

С:
1.3
См. также:
removeNotify(), configureEnclosingScrollPane()

createScrollPaneForTable

@Deprecated
public static JScrollPane createScrollPaneForTable(JTable aTable)
Устарело.
Начиная со Swing версии 1.0.2, заменено на new JScrollPane(aTable).

Эквивалентно new JScrollPane(aTable).

Параметры:
aTable - JTable, используемый для области прокрутки
Возвращает:
Область прокрутки, созданная с помощью aTable

setTableHeader

@BeanProperty(description="The JTableHeader instance which renders the column headers.")
public void setTableHeader(JTableHeader tableHeader)

Устанавливает tableHeader , работающий с этим JTable , на newHeader. Разрешено иметь null tableHeader.

Параметры:
tableHeader - новый заголовок таблицы
См. также:
getTableHeader()

getTableHeader

public JTableHeader getTableHeader()

Возвращает tableHeader , используемый этим JTable.

Возвращает:
tableHeader , используемый этой таблицей
См. также:
setTableHeader(javax.swing.table.JTableHeader)

setRowHeight

@BeanProperty(description="The height of the specified row.")
public void setRowHeight(int rowHeight)

Устанавливает высоту всех ячеек в пикселях на rowHeight, перевалидирует и перерисовывает. Высота ячеек будет равна высоте строки минус отступ строки.

Параметры:
rowHeight - новая высота строки
Издаёт:
IllegalArgumentException - если rowHeight меньше 1
См. также:
getRowHeight()

getRowHeight

public int getRowHeight()

Возвращает высоту строки таблицы в пикселях.

Возвращает:
Высота строки таблицы в пикселях
См. также:
setRowHeight(int)

setRowHeight

@BeanProperty(description="The height in pixels of the cells in <code>row</code>")
public void setRowHeight(int row,
                         int rowHeight)

Устанавливает высоту для row на rowHeight, перевалидирует и перерисовывает. Высота ячеек в этой строке будет равна высоте строки минус отступ строки.

Параметры:
row - строка, высота которой изменяется
rowHeight - новая высота строки в пикселях
Издаёт:
IllegalArgumentException - если rowHeight меньше 1
С:
1.3

getRowHeight

public int getRowHeight(int row)

Возвращает высоту ячеек в row в пикселях.

Параметры:
row - строка, высота которой должна быть возвращена
Возвращает:
Высота ячеек в строке в пикселях
С:
1.3

setRowMargin

@BeanProperty(description="The amount of space between cells.")
public void setRowMargin(int rowMargin)

Устанавливает расстояние между ячейками в смежных строках.

Параметры:
rowMargin - количество пикселей между ячейками в строке
См. также:
getRowMargin()

getRowMargin

public int getRowMargin()

Возвращает расстояние между ячейками в пикселях. Эквивалентно: getIntercellSpacing().height.

Возвращает:
Количество пикселей между ячейками в строке
См. также:
setRowMargin(int)

setIntercellSpacing

@BeanProperty(bound=false,
              description="The spacing between the cells, drawn in the background color of the JTable.")
public void setIntercellSpacing(Dimension intercellSpacing)

Устанавливает rowMargin и columnMargin - высоту и ширину пробела между ячейками - на intercellSpacing.

Параметры:
intercellSpacing - Dimension , определяющий новую ширину и высоту между ячейками
См. также:
getIntercellSpacing()

getIntercellSpacing

public Dimension getIntercellSpacing()

Возвращает горизонтальное и вертикальное расстояние между ячейками. Значение по умолчанию зависит от темы оформления.

Возвращает:
Горизонтальное и вертикальное расстояние между ячейками
См. также:
setIntercellSpacing(java.awt.Dimension)

setGridColor

@BeanProperty(description="The grid color.")
public void setGridColor(Color gridColor)

Устанавливает цвет, используемый для рисования линий сетки, на gridColor и перерисовывает. Цвет по умолчанию зависит от темы оформления.

Параметры:
gridColor - новый цвет линий сетки
Издаёт:
IllegalArgumentException - если gridColor равен null
См. также:
getGridColor()

getGridColor

public Color getGridColor()

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

Возвращает:
Цвет, используемый для рисования линий сетки
См. также:
setGridColor(java.awt.Color)

setShowGrid

@BeanProperty(description="The color used to draw the grid lines.")
public void setShowGrid(boolean showGrid)

Устанавливает, рисует ли таблица линии сетки вокруг ячеек. Если showGrid true, рисует; если false - не рисует. Нет метода getShowGrid, так как это состояние хранится в двух переменных - showHorizontalLines и showVerticalLines, которые можно запросить независимо.

Параметры:
showGrid - true, если представление таблицы должно рисовать линии сетки
См. также:
setShowVerticalLines(boolean), setShowHorizontalLines(boolean)

setShowHorizontalLines

@BeanProperty(description="Whether horizontal lines should be drawn in between the cells.")
public void setShowHorizontalLines(boolean showHorizontalLines)

Устанавливает, рисует ли таблица горизонтальные линии между ячейками. Если showHorizontalLines true, рисует; если false - не рисует.

Параметры:
showHorizontalLines - true, если представление таблицы должно рисовать горизонтальные линии
См. также:
getShowHorizontalLines(), setShowGrid(boolean), setShowVerticalLines(boolean)

setShowVerticalLines

@BeanProperty(description="Whether vertical lines should be drawn in between the cells.")
public void setShowVerticalLines(boolean showVerticalLines)

Устанавливает, рисует ли таблица вертикальные линии между ячейками. Если showVerticalLines true, рисует; если false - не рисует.

Параметры:
showVerticalLines - true, если представление таблицы должно рисовать вертикальные линии
См. также:
getShowVerticalLines(), setShowGrid(boolean), setShowHorizontalLines(boolean)

getShowHorizontalLines

public boolean getShowHorizontalLines()

Возвращает true, если таблица рисует горизонтальные линии между ячейками, и false - если не рисует. Значение по умолчанию зависит от темы оформления.

Возвращает:
true, если таблица рисует горизонтальные линии между ячейками, и false - если не рисует
См. также:
setShowHorizontalLines(boolean)

getShowVerticalLines

public boolean getShowVerticalLines()

Возвращает true, если таблица рисует вертикальные линии между ячейками, и false - если не рисует. Значение по умолчанию зависит от темы оформления.

Возвращает:
true, если таблица рисует вертикальные линии между ячейками, и false - если не рисует
См. также:
setShowVerticalLines(boolean)

setAutoResizeMode

@BeanProperty(enumerationValues={"JTable.AUTO_RESIZE_OFF","JTable.AUTO_RESIZE_NEXT_COLUMN","JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS","JTable.AUTO_RESIZE_LAST_COLUMN","JTable.AUTO_RESIZE_ALL_COLUMNS"},
              description="Whether the columns should adjust themselves automatically.")
public void setAutoResizeMode(int mode)

Устанавливает режим автоматического изменения размера таблицы при изменении её размера. Более подробную информацию о том, как работают различные режимы изменения размера, см. в doLayout().

Параметры:
mode - Одно из 5 допустимых значений: AUTO_RESIZE_OFF, AUTO_RESIZE_NEXT_COLUMN, AUTO_RESIZE_SUBSEQUENT_COLUMNS, AUTO_RESIZE_LAST_COLUMN, AUTO_RESIZE_ALL_COLUMNS
См. также:
getAutoResizeMode(), doLayout()

getAutoResizeMode

public int getAutoResizeMode()

Возвращает режим автоматического изменения размера таблицы. Режим по умолчанию - AUTO_RESIZE_SUBSEQUENT_COLUMNS.

Возвращает:
Режим автоматического изменения размера таблицы
См. также:
setAutoResizeMode(int), doLayout()

setAutoCreateColumnsFromModel

@BeanProperty(description="Automatically populates the columnModel when a new TableModel is submitted.")
public void setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)

Устанавливает флаг autoCreateColumnsFromModel этой таблицы. Этот метод вызывает createDefaultColumnsFromModel, если autoCreateColumnsFromModel изменяется с false на true.

Параметры:
autoCreateColumnsFromModel - true, если JTable должен автоматически создавать столбцы
См. также:
getAutoCreateColumnsFromModel(), createDefaultColumnsFromModel()

getAutoCreateColumnsFromModel

public boolean getAutoCreateColumnsFromModel()

Определяет, будет ли таблица создавать столбцы по умолчанию из модели. Если true, setModel очистит все существующие столбцы и создаст новые столбцы из новой модели. Кроме того, если событие в уведомлении tableChanged указывает, что вся таблица изменилась, столбцы будут перестроены. Значение по умолчанию — true.

Возвращает:
autoCreateColumnsFromModel таблицы
См. также:
setAutoCreateColumnsFromModel(boolean), createDefaultColumnsFromModel()

createDefaultColumnsFromModel

public void createDefaultColumnsFromModel()

Создаёт столбцы по умолчанию для таблицы из модели данных, используя метод getColumnCount , определённый в интерфейсе TableModel.

Очищает все существующие столбцы перед созданием новых столбцов на основе информации из модели.

См. также:
getAutoCreateColumnsFromModel()

setDefaultRenderer

public void setDefaultRenderer(Class<?> columnClass,
                               TableCellRenderer renderer)

Устанавливает обработчик отрисовки ячеек по умолчанию, если в TableColumn не был установлен обработчик. Если renderer равен null, удаляет обработчик отрисовки по умолчанию для данного класса столбца.

Параметры:
columnClass - установить обработчик отрисовки ячеек по умолчанию для этого columnClass
renderer - обработчик отрисовки ячеек по умолчанию для этого columnClass
См. также:
getDefaultRenderer(java.lang.Class<?>), setDefaultEditor(java.lang.Class<?>, javax.swing.table.TableCellEditor)

getDefaultRenderer

public TableCellRenderer getDefaultRenderer(Class<?> columnClass)

Возвращает обработчик отрисовки ячеек по умолчанию, если в TableColumn не был установлен обработчик. При отрисовке ячеек обработчик извлекается из Hashtable записей в соответствии с классом ячеек в столбце. Если нет записи для этого columnClass, метод возвращает запись для самого специфичного суперкласса. JTable устанавливает записи для Object, Number, и Boolean, все из которых могут быть изменены или заменены.

Параметры:
columnClass - вернуть обработчик отрисовки ячеек по умолчанию для этого columnClass
Возвращает:
обработчик для этого columnClass
См. также:
setDefaultRenderer(java.lang.Class<?>, javax.swing.table.TableCellRenderer), getColumnClass(int)

setDefaultEditor

public void setDefaultEditor(Class<?> columnClass,
                             TableCellEditor editor)

Устанавливает редактор ячеек по умолчанию, если в TableColumn не был установлен редактор. Если редактирование в таблице или в определённом столбце таблицы не требуется, используйте метод isCellEditable в интерфейсе TableModel для обеспечения того, что этот JTable не будет запускать редактор в этих столбцах. Если editor равен null, удаляет редактор по умолчанию для данного класса столбца.

Параметры:
columnClass - установить редактор ячеек по умолчанию для этого columnClass
editor - редактор ячеек по умолчанию для этого columnClass
См. также:
TableModel.isCellEditable(int, int), getDefaultEditor(java.lang.Class<?>), setDefaultRenderer(java.lang.Class<?>, javax.swing.table.TableCellRenderer)

getDefaultEditor

public TableCellEditor getDefaultEditor(Class<?> columnClass)

Возвращает редактор, который используется, когда в TableColumn не был установлен редактор. При редактировании ячеек редактор извлекается из Hashtable записей в соответствии с классом ячеек в столбце. Если нет записи для этого columnClass, метод возвращает запись для самого специфичного суперкласса. JTable устанавливает записи для Object, Number, и Boolean, все из которых могут быть изменены или заменены.

Параметры:
columnClass - вернуть редактор ячеек по умолчанию для этого columnClass
Возвращает:
редактор ячеек по умолчанию для этого columnClass
См. также:
setDefaultEditor(java.lang.Class<?>, javax.swing.table.TableCellEditor), getColumnClass(int)

setDragEnabled

@BeanProperty(bound=false,
              description="determines whether automatic drag handling is enabled")
public void setDragEnabled(boolean b)

Включает или отключает автоматическую обработку перетаскивания. Для включения автоматической обработки перетаскивания этот параметр должен быть установлен в true, и TransferHandler таблицы должен быть non-null. Значение параметра dragEnabled по умолчанию равно false.

Задача соблюдения этого параметра и распознавания жеста перетаскивания пользователя ложится на реализацию внешнего вида и, в частности, на TableUI таблицы. При включённой автоматической обработке перетаскивания большинство внешних видов (включая те, что являются подклассами BasicLookAndFeel) начинают операцию перетаскивания и перемещения, когда пользователь нажимает кнопку мыши над элементом (в режиме одиночного выбора) или выделением (в других режимах выбора) и затем перемещает мышь на несколько пикселей. Установка этого параметра в значение true может поэтому оказывать тонкое влияние на поведение выделений.

Если используется внешний вид, который игнорирует этот параметр, вы всё равно можете начать операцию перетаскивания и перемещения, вызвав метод exportAsDrag на TransferHandler таблицы.

Параметры:
b - включать или отключать автоматическую обработку перетаскивания
Исключения:
HeadlessException - если b равно true и GraphicsEnvironment.isHeadless() возвращает true
С тех пор как:
1.4
См. также:
GraphicsEnvironment.isHeadless(), getDragEnabled(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandler

getDragEnabled

public boolean getDragEnabled()

Возвращает, включена или выключена автоматическая обработка перетаскивания.

Возвращает:
значение свойства dragEnabled
С тех пор как:
1.4
См. также:
setDragEnabled(boolean)

setDropMode

public final void setDropMode(DropMode dropMode)

Устанавливает режим падения для этого компонента. Для обратной совместимости значение по умолчанию для этого свойства равно DropMode.USE_SELECTION. Однако рекомендуется использование одного из других режимов для улучшения пользовательского интерфейса. DropMode.ON, например, предлагает аналогичное поведение по отображению элементов как выделенных, но делает это без влияния на фактическое выделение в таблице.

JTable поддерживает следующие режимы падения:

  • DropMode.USE_SELECTION
  • DropMode.ON
  • DropMode.INSERT
  • DropMode.INSERT_ROWS
  • DropMode.INSERT_COLS
  • DropMode.ON_OR_INSERT
  • DropMode.ON_OR_INSERT_ROWS
  • DropMode.ON_OR_INSERT_COLS

Режим падения имеет смысл только в том случае, если у этого компонента есть TransferHandler , принимающий падения.

Параметры:
dropMode - режим падения для использования
Исключения:
IllegalArgumentException - если режим падения не поддерживается или null
С тех пор как:
1.6
См. также:
getDropMode(), getDropLocation(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandler

getDropMode

public final DropMode getDropMode()

Возвращает режим падения для этого компонента.

Возвращает:
режим падения для этого компонента
С тех пор как:
1.6
См. также:
setDropMode(javax.swing.DropMode)

getDropLocation

@BeanProperty(bound=false)
public final JTable.DropLocation getDropLocation()

Возвращает расположение, которое этот компонент должен визуально указывать как расположение падения во время операции перетаскивания и перемещения над компонентом, или null , если в данный момент не нужно показывать расположение.

Этот метод не предназначен для запроса расположения падения у TransferHandler, так как расположение падения устанавливается только после того, как TransferHandler's canImport вернётся и разрешит отображение расположения.

При изменении этого свойства компонент генерирует событие изменения свойства с именем "dropLocation".

Возвращает:
расположение падения
С тех пор как:
1.6
См. также:
setDropMode(javax.swing.DropMode), TransferHandler.canImport(TransferHandler.TransferSupport)

setAutoCreateRowSorter

@BeanProperty(preferred=true,
              description="Whether or not to turn on sorting by default.")
public void setAutoCreateRowSorter(boolean autoCreateRowSorter)

Указывает, должен ли быть создан RowSorter для таблицы всякий раз, когда изменяется её модель.

При вызове метода setAutoCreateRowSorter(true), TableRowSorter немедленно создаётся и устанавливается в таблицу. Пока свойство autoCreateRowSorter остаётся true, каждый раз при изменении модели создаётся новый TableRowSorter и устанавливается в качестве сортировщика строк таблицы. Значение свойства autoCreateRowSorter по умолчанию равно false.

Параметры:
autoCreateRowSorter - нужно ли автоматически создавать RowSorter
С тех пор как:
1.6
См. также:
TableRowSorter

getAutoCreateRowSorter

public boolean getAutoCreateRowSorter()

Возвращает true, если при каждом изменении модели должен создаваться и устанавливаться новый RowSorter, в качестве сортировщика таблицы; в противном случае возвращает false.

Возвращает:
true, если при изменении модели должен быть создан RowSorter
С тех пор как:
1.6

setUpdateSelectionOnSort

@BeanProperty(expert=true,
              description="Whether or not to update the selection on sorting")
public void setUpdateSelectionOnSort(boolean update)

Указывает, следует ли обновлять выбор после сортировки. Если true, при сортировке выбор сбрасывается так, что выбранными остаются те же строки с точки зрения модели. По умолчанию значение равно true.

Параметры:
update - нужно ли обновлять выбор при сортировке
С:
1.6

getUpdateSelectionOnSort

public boolean getUpdateSelectionOnSort()

Возвращает true, если выбор должен быть обновлён после сортировки.

Возвращает:
необходимо ли обновлять выбор при сортировке
С:
1.6

setRowSorter

@BeanProperty(description="The table\'s RowSorter")
public void setRowSorter(RowSorter<? extends TableModel> sorter)

Устанавливает RowSorter. RowSorter используется для предоставления сортировки и фильтрации для JTable.

Этот метод очищает выбор и сбрасывает любые переменные высоты строк.

Этот метод генерирует PropertyChangeEvent при необходимости, с именем свойства "rowSorter". Для обратной совместимости этот метод генерирует дополнительное событие с именем свойства "sorter".

Если базовая модель RowSorter отличается от модели этого JTable, результатом будет неопределённое поведение.

Параметры:
sorter - RowSorter; null отключает сортировку
С:
1.6
См. также:
TableRowSorter

getRowSorter

public RowSorter<? extends TableModel> getRowSorter()

Возвращает объект, ответственный за сортировку.

Возвращает:
объект, ответственный за сортировку
С:
1.6

setSelectionMode

@BeanProperty(enumerationValues={"ListSelectionModel.SINGLE_SELECTION","ListSelectionModel.SINGLE_INTERVAL_SELECTION","ListSelectionModel.MULTIPLE_INTERVAL_SELECTION"},
              description="The selection mode used by the row and column selection models.")
public void setSelectionMode(int selectionMode)

Устанавливает режим выбора таблицы, позволяя только одиночный выбор, единственный непрерывный интервал или несколько интервалов.

Примечание: JTable предоставляет все методы для обработки выбора столбцов и строк. При установке состояний, таких как setSelectionMode, он не только обновляет режим для модели выбора строк, но также устанавливает аналогичные значения в модели выбора columnModel. Если вы хотите, чтобы модели выбора строк и столбцов работали в разных режимах, установите их оба напрямую.

И модели выбора строк, и столбцов для JTable по умолчанию используют DefaultListSelectionModel, чтобы JTable работал так же, как JList. Подробности о режимах см. в методе setSelectionMode в JList.

Параметры:
selectionMode - режим, используемый моделями выбора строк и столбцов
См. также:
JList.setSelectionMode(int)

setRowSelectionAllowed

@BeanProperty(visualUpdate=true,
              description="If true, an entire row is selected for each selected cell.")
public void setRowSelectionAllowed(boolean rowSelectionAllowed)

Устанавливает, могут ли строки в этой модели быть выбраны.

Параметры:
rowSelectionAllowed - true, если эта модель позволит выделение строк
См. также:
getRowSelectionAllowed()

getRowSelectionAllowed

public boolean getRowSelectionAllowed()

Возвращает true, если строки могут быть выбраны.

Возвращает:
true, если строки могут быть выбраны, в противном случае false
См. также:
setRowSelectionAllowed(boolean)

setColumnSelectionAllowed

@BeanProperty(visualUpdate=true,
              description="If true, an entire column is selected for each selected cell.")
public void setColumnSelectionAllowed(boolean columnSelectionAllowed)

Устанавливает, могут ли столбцы в этой модели быть выбраны.

Параметры:
columnSelectionAllowed - true, если эта модель позволит выделение столбцов
См. также:
getColumnSelectionAllowed()

getColumnSelectionAllowed

public boolean getColumnSelectionAllowed()

Возвращает true, если столбцы могут быть выбраны.

Возвращает:
true, если столбцы могут быть выбраны, в противном случае false
См. также:
setColumnSelectionAllowed(boolean)

setCellSelectionEnabled

@BeanProperty(visualUpdate=true,
              description="Select a rectangular region of cells rather than rows or columns.")
public void setCellSelectionEnabled(boolean cellSelectionEnabled)

Устанавливает, разрешает ли эта таблица одновременное существование выбора столбца и строки. При установке таблица обрабатывает пересечение моделей выбора строк и столбцов как выбранные ячейки. Переопределите isCellSelected, чтобы изменить это поведение по умолчанию. Этот метод эквивалентен установке свойств rowSelectionAllowed и columnSelectionAllowed модели columnModel на указанное значение.

Параметры:
cellSelectionEnabled - true, если одновременный выбор строк и столбцов разрешён
См. также:
getCellSelectionEnabled(), isCellSelected(int, int)

getCellSelectionEnabled

public boolean getCellSelectionEnabled()

Возвращает true, если модели выбора строк и столбцов включены. Эквивалентно getRowSelectionAllowed() && getColumnSelectionAllowed().

Возвращает:
true, если модели выбора строк и столбцов включены
См. также:
setCellSelectionEnabled(boolean)

selectAll

public void selectAll()

Выбирает все строки, столбцы и ячейки в таблице.

clearSelection

public void clearSelection()

Снимает выделение со всех выделенных столбцов и строк.

setRowSelectionInterval

public void setRowSelectionInterval(int index0,
                                    int index1)

Выбирает строки с index0 по index1, включительно.

Параметры:
index0 - один конец интервала
index1 - другой конец интервала
Исключения:
IllegalArgumentException - если index0 или index1 лежат вне [0, getRowCount()-1]

setColumnSelectionInterval

public void setColumnSelectionInterval(int index0,
                                       int index1)

Выбирает столбцы с index0 по index1, включительно.

Параметры:
index0 - один конец интервала
index1 - другой конец интервала
Исключения:
IllegalArgumentException - если index0 или index1 лежат вне [0, getColumnCount()-1]

addRowSelectionInterval

public void addRowSelectionInterval(int index0,
                                    int index1)

Добавляет строки с index0 по index1, включительно, в текущий выбор.

Параметры:
index0 - один конец интервала
index1 - другой конец интервала
Исключения:
IllegalArgumentException - если index0 или index1 лежат вне [0, getRowCount()-1]

addColumnSelectionInterval

public void addColumnSelectionInterval(int index0,
                                       int index1)

Добавляет столбцы с index0 по index1, включительно, в текущий выбор.

Параметры:
index0 - один конец интервала
index1 - другой конец интервала
Исключения:
IllegalArgumentException - если index0 или index1 лежат вне [0, getColumnCount()-1]

removeRowSelectionInterval

public void removeRowSelectionInterval(int index0,
                                       int index1)

Снимает выделение со строк с index0 по index1, включительно.

Параметры:
index0 - один конец интервала
index1 - другой конец интервала
Исключения:
IllegalArgumentException - если index0 или index1 лежат вне [0, getRowCount()-1]

removeColumnSelectionInterval

public void removeColumnSelectionInterval(int index0,
                                          int index1)

Снимает выделение со столбцов с index0 по index1, включительно.

Параметры:
index0 - один конец интервала
index1 - другой конец интервала
Исключения:
IllegalArgumentException - если index0 или index1 лежат вне [0, getColumnCount()-1]

getSelectedRow

@BeanProperty(bound=false)
public int getSelectedRow()

Возвращает индекс первой выбранной строки, -1, если строки не выбрано.

Возвращает:
индекс первой выбранной строки

getSelectedColumn

@BeanProperty(bound=false)
public int getSelectedColumn()

Возвращает индекс первого выбранного столбца, -1, если столбцы не выбрано.

Возвращает:
индекс первого выбранного столбца

getSelectedRows

@BeanProperty(bound=false)
public int[] getSelectedRows()

Возвращает индексы всех выбранных строк.

Возвращает:
массив целых чисел, содержащий индексы всех выбранных строк, или пустой массив, если строки не выбраны
См. также:
getSelectedRow()

getSelectedColumns

@BeanProperty(bound=false)
public int[] getSelectedColumns()

Возвращает индексы всех выбранных столбцов.

Возвращает:
массив целых чисел, содержащий индексы всех выбранных столбцов, или пустой массив, если столбцы не выбраны
См. также:
getSelectedColumn()

getSelectedRowCount

@BeanProperty(bound=false)
public int getSelectedRowCount()

Возвращает количество выбранных строк.

Возвращает:
количество выбранных строк, 0, если строки не выбраны

getSelectedColumnCount

@BeanProperty(bound=false)
public int getSelectedColumnCount()

Возвращает количество выбранных столбцов.

Возвращает:
количество выбранных столбцов, 0, если столбцы не выбраны

isRowSelected

public boolean isRowSelected(int row)

Возвращает true, если указанный индекс находится в допустимом диапазоне строк и строка в этом индексе выбрана.

Параметры:
row - строка в модели строк
Возвращает:
true, если row является допустимым индексом и строка в этом индексе выбрана (где 0 - первая строка)

isColumnSelected

public boolean isColumnSelected(int column)

Возвращает true, если указанный индекс находится в допустимом диапазоне столбцов и столбец в этом индексе выбран.

Параметры:
column - столбец в модели столбцов
Возвращает:
true, если column является допустимым индексом и столбец в этом индексе выбран (где 0 - первый столбец)

isCellSelected

public boolean isCellSelected(int row,
                              int column)

Возвращает true, если указанные индексы находятся в допустимом диапазоне строк и столбцов, и ячейка в указанном положении выбрана.

Параметры:
row - строка, которая запрашивается
column - столбец, который запрашивается
Возвращает:
true, если row и column являются допустимыми индексами, и ячейка с индексом (row, column) выбрана, где первая строка и первый столбец имеют индекс 0

changeSelection

public void changeSelection(int rowIndex,
                            int columnIndex,
                            boolean toggle,
                            boolean extend)

Обновляет модели выделения таблицы, в зависимости от состояния двух флагов: toggle и extend. Большинство изменений выделения, которые являются результатом событий клавиатуры или мыши, полученных пользовательским интерфейсом, передаются через этот метод, чтобы поведение могло быть переопределено подклассом. Некоторые пользовательские интерфейсы могут потребовать больше функциональности, чем предоставляет этот метод, например, при манипулировании указателем для несмежных выделений, и могут не вызывать этот метод для некоторых изменений выделения.

Эта реализация использует следующие соглашения:

  • toggle: false, extend: false. Очистить предыдущее выделение и убедиться, что новая ячейка выбрана.
  • toggle: false, extend: true. Расширить предыдущее выделение от якоря до указанной ячейки, очистив все остальные выделения.
  • toggle: true, extend: false. Если указанная ячейка выбрана, снимите выбор с нее. Если она не выбрана, выберите ее.
  • toggle: true, extend: true. Применить состояние выделения якоря ко всем ячейкам между ним и указанной ячейкой.
Параметры:
rowIndex - влияет на выделение в row
columnIndex - влияет на выделение в column
toggle - см. описание выше
extend - если true, расширить текущее выделение
С:
1.3

getSelectionForeground

public Color getSelectionForeground()

Возвращает цвет переднего плана для выделенных ячеек.

Возвращает:
объект Color для свойства переднего плана
См. также:
setSelectionForeground(java.awt.Color), setSelectionBackground(java.awt.Color)

setSelectionForeground

@BeanProperty(description="A default foreground color for selected cells.")
public void setSelectionForeground(Color selectionForeground)

Устанавливает цвет переднего плана для выделенных ячеек. Рендереры ячеек могут использовать этот цвет для отображения текста и графики для выделенных ячеек.

Значение по умолчанию этого свойства определяется реализацией внешнего вида.

Это свойство, связанное с JavaBeans.

Параметры:
selectionForeground - Color для использования в переднем плане для выделенных элементов списка
См. также:
getSelectionForeground(), setSelectionBackground(java.awt.Color), JComponent.setForeground(java.awt.Color), JComponent.setBackground(java.awt.Color), JComponent.setFont(java.awt.Font)

getSelectionBackground

public Color getSelectionBackground()

Возвращает цвет фона для выделенных ячеек.

Возвращает:
цвет Color, используемый для фона выделенных элементов списка
См. также:
setSelectionBackground(java.awt.Color), setSelectionForeground(java.awt.Color)

setSelectionBackground

@BeanProperty(description="A default background color for selected cells.")
public void setSelectionBackground(Color selectionBackground)

Устанавливает цвет фона для выделенных ячеек. Рендереры ячеек могут использовать этот цвет для заполнения выделенных ячеек.

Значение по умолчанию этого свойства определяется реализацией внешнего вида.

Это свойство, связанное с JavaBeans.

Параметры:
selectionBackground - Color для использования для фона выделенных ячеек
См. также:
getSelectionBackground(), setSelectionForeground(java.awt.Color), JComponent.setForeground(java.awt.Color), JComponent.setBackground(java.awt.Color), JComponent.setFont(java.awt.Font)

getColumn

public TableColumn getColumn(Object identifier)

Возвращает объект TableColumn для столбца в таблице, идентификатор которого равен identifier, при сравнении с использованием equals.

Параметры:
identifier - объект идентификатора
Возвращает:
объект TableColumn , который соответствует идентификатору
Исключения:
IllegalArgumentException - если identifier равен null или в TableColumn нет столбца с таким идентификатором

convertColumnIndexToModel

public int convertColumnIndexToModel(int viewColumnIndex)

Преобразует индекс столбца в представлении в viewColumnIndex в индекс столбца в модели таблицы. Возвращает индекс соответствующего столбца в модели. Если viewColumnIndex меньше нуля, возвращает viewColumnIndex.

Параметры:
viewColumnIndex - индекс столбца в представлении
Возвращает:
индекс соответствующего столбца в модели
См. также:
convertColumnIndexToView(int)

convertColumnIndexToView

public int convertColumnIndexToView(int modelColumnIndex)

Преобразует индекс столбца в модели таблицы в modelColumnIndex в индекс столбца в представлении. Возвращает индекс соответствующего столбца в представлении; возвращает -1, если этот столбец не отображается. Если modelColumnIndex меньше нуля, возвращает modelColumnIndex.

Параметры:
modelColumnIndex - индекс столбца в модели
Возвращает:
индекс соответствующего столбца в представлении
См. также:
convertColumnIndexToModel(int)

convertRowIndexToView

public int convertRowIndexToView(int modelRowIndex)

Преобразует индекс строки в терминах TableModel в представление. Если содержимое модели не отсортировано, индексы модели и представления совпадают.

Параметры:
modelRowIndex - индекс строки в терминах модели
Возвращает:
индекс соответствующей строки в представлении или -1, если строка не отображается
Исключения:
IndexOutOfBoundsException - если сортировка включена и передан индекс, выходящий за пределы числа строк в TableModel
С:
1.6
См. также:
TableRowSorter

convertRowIndexToModel

public int convertRowIndexToModel(int viewRowIndex)

Преобразует индекс строки в терминах представления в базовую TableModel. Если содержимое модели не отсортировано, индексы модели и представления совпадают.

Параметры:
viewRowIndex - индекс строки в представлении
Возвращает:
индекс соответствующей строки в модели
Исключения:
IndexOutOfBoundsException - если сортировка включена и передан индекс, выходящий за пределы диапазона JTable, как определено методом getRowCount
С:
1.6
См. также:
TableRowSorter, getRowCount()

getRowCount

@BeanProperty(bound=false)
public int getRowCount()

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

Возвращает:
количество отображаемых строк в JTable
См. также:
getColumnCount()

getColumnCount

@BeanProperty(bound=false)
public int getColumnCount()

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

Возвращает:
количество столбцов в таблице
См. также:
getRowCount(), removeColumn(javax.swing.table.TableColumn)

getColumnName

public String getColumnName(int column)

Возвращает имя столбца, отображаемого в представлении в позиции столбца column.

Параметры:
column - столбец в представлении, который запрашивается
Возвращает:
имя столбца в позиции column в представлении, где первый столбец имеет номер 0

getColumnClass

public Class<?> getColumnClass(int column)

Возвращает тип столбца, отображаемого в представлении в позиции столбца column.

Параметры:
column - столбец в представлении, который запрашивается
Возвращает:
тип столбца в позиции column в представлении, где первый столбец имеет номер 0

getValueAt

public Object getValueAt(int row,
                         int column)

Возвращает значение ячейки в row и column.

Примечание: Столбец указан в порядке отображения представления таблицы, а не в порядке столбцов TableModel. Это важное различие, потому что по мере того, как пользователь переупорядочивает столбцы в таблице, столбец в заданном индексе в представлении изменится. Между тем, действия пользователя никогда не влияют на порядок столбцов в модели.

Параметры:
row - строка, значение которой должно быть запрошено
column - столбец, значение которого должно быть запрошено
Возвращает:
объект в указанной ячейке

setValueAt

public void setValueAt(Object aValue,
                       int row,
                       int column)

Устанавливает значение для ячейки в модели таблицы по row и column.

Примечание: Столбец указан в порядке отображения в представлении таблицы, а не в порядке столбцов в TableModel. Это важное различие, поскольку при перестановке пользователем столбцов в таблице столбец с заданным индексом в представлении изменится. При этом действия пользователя никогда не влияют на порядок столбцов в модели. aValue — новое значение.

Параметры:
aValue — новое значение
row — строка ячейки, которую нужно изменить
column — столбец ячейки, которую нужно изменить
См. также:
getValueAt(int, int)

isCellEditable

public boolean isCellEditable(int row,
                              int column)

Возвращает true, если ячейка по row и column редактируема. В противном случае вызов setValueAt для ячейки не повлияет на неё.

Примечание: Столбец указан в порядке отображения в представлении таблицы, а не в порядке столбцов в TableModel. Это важное различие, поскольку при перестановке пользователем столбцов в таблице столбец с заданным индексом в представлении изменится. При этом действия пользователя никогда не влияют на порядок столбцов в модели.

Параметры:
row — строка, значение которой нужно запросить
column — столбец, значение которого нужно запросить
Возвращает:
true, если ячейка редактируема
См. также:
setValueAt(java.lang.Object, int, int)

addColumn

public void addColumn(TableColumn aColumn)

Добавляет aColumn в конец массива столбцов, хранящихся в модели столбцов этого JTable. Если имя столбца aColumn равно null, устанавливает имя столбца aColumn на имя, возвращаемое getModel().getColumnName().

Чтобы добавить столбец в это JTable, отображающий modelColumn-й столбец данных в модели со заданным width, cellRenderer, и cellEditor, вы можете использовать:

addColumn(new TableColumn(modelColumn, width, cellRenderer, cellEditor));
[Можно использовать любой из конструкторов TableColumn вместо этого.] Номер столбца модели хранится в TableColumn и используется при отрисовке и редактировании для определения соответствующих значений данных в модели. Номер столбца модели не изменяется при переупорядочивании столбцов в представлении.
Параметры:
aColumn — добавляемый TableColumn
См. также:
removeColumn(javax.swing.table.TableColumn)

removeColumn

public void removeColumn(TableColumn aColumn)

Удаляет aColumn из массива столбцов этого JTable. Примечание: этот метод не удаляет столбец данных из модели; он просто удаляет TableColumn который отвечал за его отображение.

Параметры:
aColumn — удаляемый TableColumn
См. также:
addColumn(javax.swing.table.TableColumn)

moveColumn

public void moveColumn(int column,
                       int targetColumn)

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

Параметры:
column — индекс перемещаемого столбца
targetColumn — новый индекс столбца

columnAtPoint

public int columnAtPoint(Point point)

Возвращает индекс столбца, в котором point находится, или -1, если результат не находится в диапазоне [0, getColumnCount()-1].

Параметры:
point — интересующее положение
Возвращает:
индекс столбца, в котором point находится, или -1, если результат не находится в диапазоне [0, getColumnCount()-1]
См. также:
rowAtPoint(java.awt.Point)

rowAtPoint

public int rowAtPoint(Point point)

Возвращает индекс строки, в которой point находится, или -1, если результат не находится в диапазоне [0, getRowCount()-1].

Параметры:
point — интересующее положение
Возвращает:
индекс строки, в которой point находится, или -1, если результат не находится в диапазоне [0, getRowCount()-1]
См. также:
columnAtPoint(java.awt.Point)

getCellRect

public Rectangle getCellRect(int row,
                             int column,
                             boolean includeSpacing)

Возвращает прямоугольник для ячейки, которая находится на пересечении row и column. Если includeSpacing равно true, то возвращаемое значение имеет полную высоту и ширину заданной строки и столбца. Если оно равно false, возвращаемый прямоугольник смещён на величину межъячеичного интервала, чтобы вернуть истинные границы компонента отрисовки или редактирования, как он будет установлен во время отрисовки.

Если индекс столбца допустим, но индекс строки меньше нуля, метод возвращает прямоугольник с соответствующими значениями y и height и значениями x и width , равными нулю. В общем случае, когда либо индекс строки, либо индекс столбца указывают на ячейку за пределами соответствующего диапазона, метод возвращает прямоугольник, изображающий ближайший край ближайшей ячейки, которая находится в диапазоне таблицы. Когда и индекс строки, и индекс столбца находятся вне диапазона, возвращаемый прямоугольник охватывает ближайшую точку ближайшей ячейки.

Во всех случаях, вычисления, которые используют этот метод для вычисления результатов по одной оси, не потерпят неудачи из-за аномалий в вычислениях по другой оси. Когда ячейка недопустима, параметр includeSpacing игнорируется.

Параметры:
row — индекс строки, где находится нужная ячейка
column — индекс столбца, где находится нужная ячейка в представлении; он не обязательно совпадает с индексом столбца в модели данных таблицы; метод convertColumnIndexToView(int) можно использовать для преобразования индекса столбца модели данных в индекс отображаемого столбца
includeSpacing — если false, возвращает истинные границы ячейки — вычисленные путем вычитания межъячеичного интервала из высоты и ширины моделей столбцов и строк
Возвращает:
прямоугольник, содержащий ячейку в расположении row,column
См. также:
getIntercellSpacing()

doLayout

public void doLayout()

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

Перед началом макета метод получает resizingColumn tableHeader. Когда метод вызывается в результате изменения размера окружающего окна, resizingColumn является null. Это означает, что изменение размера произошло «вне» JTable и изменение — или «дельта» — должно быть распределено по всем столбцам независимо от режима автоматического изменения размера этой JTable.

Если resizingColumn не null, это один из столбцов в таблице, размер которого изменился, а не сама таблица. В этом случае режимы автоматического изменения размера определяют способ распределения дополнительного (или недостающего) места между доступными столбцами.

Режимы:

  • AUTO_RESIZE_OFF: Вовсе не производить автоматической корректировки ширины столбца. Используйте горизонтальную полосу прокрутки для адаптации столбцов, когда их сумма превышает ширину Viewport. Если JTable не заключено в JScrollPane, это может привести к тому, что части таблицы будут невидимыми.
  • AUTO_RESIZE_NEXT_COLUMN: Используйте только столбец после столбца, размер которого изменялся. Это приводит к тому, что «граница» или разделитель между смежными ячейками могут быть независимо настроены.
  • AUTO_RESIZE_SUBSEQUENT_COLUMNS: Используйте все столбцы после изменяемого, чтобы поглотить изменения. Это поведение по умолчанию.
  • AUTO_RESIZE_LAST_COLUMN: Автоматически изменить размер только последнего столбца. Если пределы последнего столбца препятствуют назначению желаемого размера, установите ширину последнего столбца на соответствующий предел и не производите дальнейших корректировок.
  • AUTO_RESIZE_ALL_COLUMNS: Распределяет дельту между всеми столбцами в JTable, включая столбец, который изменяется.

Примечание: Когда JTable производит корректировку ширины столбцов, оно уважает их минимальные и максимальные значения в абсолютном смысле. Поэтому возможно, что даже после вызова этого метода общая ширина столбцов всё равно не будет равна ширине таблицы. В этом случае JTable не переходит в режим AUTO_RESIZE_OFF, чтобы отобразить полосу прокрутки или нарушить другие обязательства текущего режима автоматического изменения размера — вместо этого оно позволяет установить свои пределы больше (или меньше), чем общая сумма минимального или максимального размеров столбцов, что означает, что либо не будет достаточно места для отображения всех столбцов, либо столбцы не заполнят границы JTable. Соответственно, это приводит к обрезанию некоторых столбцов или области, которая будет закрашиваться цветом фона JTable во время рисования.

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

adjustSizes(long targetSize, final Resizable3 r, boolean inverse)
Объяснение которого приводится в следующем разделе. Resizable3 — это частный интерфейс, который позволяет любой структуре данных, содержащей набор элементов с размером, предпочтительным размером, максимальным размером и минимальным размером, манипулировать элементами с помощью алгоритма.

Распределение дельты

Обзор

Назовем «ДЕЛЬТА» разницу между целевым размером и суммой предпочтительных размеров элементов в r. Индивидуальные размеры вычисляются путём взятия исходных предпочтительных размеров и добавления доли ДЕЛЬТА — эта доля основана на том, насколько каждый предпочтительный размер отличается от своего ограничительного предела (минимального или максимального).

Определение

Назовем индивидуальные ограничения min[i], max[i] и pref[i].

Назовем соответствующие суммы: MIN, MAX и PREF.

Каждый новый размер будет вычислен по формуле:

size[i] = pref[i] + delta[i]
где каждая индивидуальная дельта[i] вычисляется следующим образом:

Если (ДЕЛЬТА < 0), мы находимся в режиме уменьшения, где:

DELTA
          delta[i] = ------------ * (pref[i] - min[i])
                     (PREF - MIN)
Если (ДЕЛЬТА > 0), мы находимся в режиме расширения, где:
DELTA
          delta[i] = ------------ * (max[i] - pref[i])
                      (MAX - PREF)

Общий эффект заключается в том, что общий размер перемещается на тот же процент, k, к общему минимальному или максимальному значению, и этот процент гарантирует размещение необходимого пространства, ДЕЛЬТА.

Подробности

Непосредственное оценивание представленных здесь формул подвергалось бы накопленным ошибкам округления, вызванным выполнением этой операции с конечной точностью (с использованием целых чисел). Для решения этой проблемы множитель умножения выше постоянно пересчитывается, и это учитывает ошибки округления в предыдущих итерациях. Результатом является алгоритм, который генерирует набор целых чисел, чьи значения точно суммируются до предоставленной targetSize, и он делает это, распределяя ошибки округления равномерно по заданным элементам.

Когда границы MAX и MIN достигнуты

Когда targetSize находится вне диапазона [MIN, MAX], алгоритм устанавливает все размеры на соответствующее предельное значение (максимальное или минимальное).

Overrides:
doLayout в классе Container
См. также:
LayoutManager.layoutContainer(java.awt.Container), Container.setLayout(java.awt.LayoutManager), Container.validate()

sizeColumnsToFit

@Deprecated
public void sizeColumnsToFit(boolean lastColumnOnly)
Устарело.
С версии Swing 1.0.3 заменено на doLayout().

Изменяет размер столбцов таблицы для подгонки к доступному месту.

Параметры:
lastColumnOnly - определяет, следует ли изменять размер только последнего столбца
См. также:
doLayout()

sizeColumnsToFit

public void sizeColumnsToFit(int resizingColumn)

Устарело с Java 2 platform v1.4. Пожалуйста, используйте метод doLayout() вместо этого.

Параметры:
resizingColumn - столбец, изменение размера которого потребовало этой корректировки, или -1, если такого столбца нет
См. также:
doLayout()

getToolTipText

public String getToolTipText(MouseEvent event)

Переопределяет метод JComponent в getToolTipText для возможности использования подсказок рендерера, если он задал текст.

Примечание: Чтобы JTable корректно отображал всплывающие подсказки своих рендереров, JTable должен быть зарегистрированным компонентом в ToolTipManager. Это выполняется автоматически в initializeLocalVars, но если впоследствии JTable получит команду setToolTipText(null), оно отменит регистрацию компонента таблицы, и подсказки от рендереров больше не будут отображаться.

Overrides:
getToolTipText в классе JComponent
Параметры:
event - MouseEvent, который инициировал отображение ToolTip
Возвращает:
строку, содержащую всплывающую подсказку
См. также:
JComponent.getToolTipText()

setSurrendersFocusOnKeystroke

public void setSurrendersFocusOnKeystroke(boolean surrendersFocusOnKeystroke)

Устанавливает, получают ли редакторы в этом JTable фокус клавиатуры при активации редактора в результате передачи событий клавиатуры JTable для ячейки. По умолчанию этот параметр равен false, и JTable сохраняет фокус, если ячейка не была нажата.

Параметры:
surrendersFocusOnKeystroke - true, если редактор должен получить фокус, когда нажатия клавиш вызывают активацию редактора
С:
1.4
См. также:
getSurrendersFocusOnKeystroke()

getSurrendersFocusOnKeystroke

public boolean getSurrendersFocusOnKeystroke()

Возвращает true, если редактор должен получить фокус, когда нажатия клавиш вызывают активацию редактора

Возвращает:
true, если редактор должен получить фокус, когда нажатия клавиш вызывают активацию редактора
С:
1.4
См. также:
setSurrendersFocusOnKeystroke(boolean)

editCellAt

public boolean editCellAt(int row,
                          int column)

Программно начинает редактирование ячейки в row и column, если эти индексы находятся в допустимом диапазоне и ячейка в этих индексах редактируема. Обратите внимание, что это метод-обёртка для editCellAt(int, int, null).

Параметры:
row - строка для редактирования
column - столбец для редактирования
Возвращает:
false, если по какой-либо причине ячейку нельзя редактировать или если индексы неверны

editCellAt

public boolean editCellAt(int row,
                          int column,
                          EventObject e)

Программно начинает редактирование ячейки в row и column, если эти индексы находятся в допустимом диапазоне и ячейка в этих индексах редактируема. Чтобы предотвратить редактирование конкретной таблицы, столбца или значения ячейки, верните false из метода isCellEditable в интерфейсе TableModel.

Параметры:
row - строка для редактирования
column - столбец для редактирования
e - событие, передаваемое в shouldSelectCell; обратите внимание, что с версии Java 2 platform v1.2 вызов shouldSelectCell больше не выполняется
Возвращает:
false, если по какой-либо причине ячейку нельзя редактировать или если индексы неверны

isEditing

@BeanProperty(bound=false)
public boolean isEditing()

Возвращает true, если ячейка редактируется.

Возвращает:
true, если таблица редактирует ячейку
См. также:
editingColumn, editingRow

getEditorComponent

@BeanProperty(bound=false)
public Component getEditorComponent()

Возвращает компонент, обрабатывающий сеанс редактирования. Если ничего не редактируется, возвращает null.

Возвращает:
Компонент, обрабатывающий сеанс редактирования

getEditingColumn

public int getEditingColumn()

Возвращает индекс столбца, содержащего ячейку, которая в данный момент редактируется. Если ничего не редактируется, возвращает -1.

Возвращает:
индекс столбца, содержащего ячейку, которая в данный момент редактируется; возвращает -1, если ничего не редактируется
См. также:
editingRow

getEditingRow

public int getEditingRow()

Возвращает индекс строки, содержащей ячейку, которая в данный момент редактируется. Если ничего не редактируется, возвращает -1.

Возвращает:
индекс строки, содержащей ячейку, которая в данный момент редактируется; возвращает -1, если ничего не редактируется
См. также:
editingColumn

getUI

public TableUI getUI()

Возвращает объект L&F, который отображает этот компонент.

Переопределяет:
getUI в классе JComponent
Возвращает:
объект TableUI, который отображает этот компонент

setUI

@BeanProperty(hidden=true,
              visualUpdate=true,
              description="The UI object that implements the Component\'s LookAndFeel.")
public void setUI(TableUI ui)

Устанавливает объект L&F, который отображает этот компонент и перерисовывает его.

Параметры:
ui - объект TableUI L&F
См. также:
UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()

Уведомление от UIManager, что L&F изменился. Заменяет текущий объект UI последней версией из UIManager.

Переопределяет:
updateUI в классе JComponent
См. также:
JComponent.updateUI()

getUIClassID

@BeanProperty(bound=false)
public String getUIClassID()

Возвращает суффикс, используемый для построения имени класса L&F, используемого для отображения этого компонента.

Переопределяет:
getUIClassID в классе JComponent
Возвращает:
строку "TableUI"
См. также:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

setModel

@BeanProperty(description="The model that is the source of the data for this view.")
public void setModel(TableModel dataModel)

Устанавливает модель данных для этой таблицы в dataModel и регистрируется в ней для уведомлений о событиях от новой модели данных.

Параметры:
dataModel - новый источник данных для этой таблицы
Исключения:
IllegalArgumentException - если dataModel является null
См. также:
getModel()

getModel

public TableModel getModel()

Возвращает TableModel, который предоставляет данные, отображаемые этим JTable.

Возвращает:
TableModel, который предоставляет данные, отображаемые этим JTable
См. также:
setModel(javax.swing.table.TableModel)

setColumnModel

@BeanProperty(description="The object governing the way columns appear in the view.")
public void setColumnModel(TableColumnModel columnModel)

Устанавливает модель столбцов для этой таблицы в columnModel и регистрируется для уведомлений о событиях от новой модели столбцов. Также устанавливает модель столбцов JTableHeader в columnModel.

Параметры:
columnModel - новый источник данных для этой таблицы
Исключения:
IllegalArgumentException - если columnModel является null
См. также:
getColumnModel()

getColumnModel

public TableColumnModel getColumnModel()

Возвращает TableColumnModel, который содержит всю информацию о столбцах этой таблицы.

Возвращает:
объект, предоставляющий состояние столбцов таблицы
См. также:
setColumnModel(javax.swing.table.TableColumnModel)

setSelectionModel

@BeanProperty(description="The selection model for rows.")
public void setSelectionModel(ListSelectionModel selectionModel)

Устанавливает модель выбора строк для этой таблицы в selectionModel и регистрируется для уведомлений о событиях от новой модели выбора.

Параметры:
selectionModel - новая модель выбора
Исключения:
IllegalArgumentException - если selectionModel является null
См. также:
getSelectionModel()

getSelectionModel

public ListSelectionModel getSelectionModel()

Возвращает ListSelectionModel, который используется для поддержания состояния выбора строк.

Возвращает:
объект, предоставляющий состояние выбора строк, null, если выбор строк не разрешен
См. также:
setSelectionModel(javax.swing.ListSelectionModel)

sorterChanged

public void sorterChanged(RowSorterEvent e)

RowSorterListener уведомление о том, что RowSorter изменился каким-либо образом.

Указано в:
sorterChanged в интерфейсе RowSorterListener
Параметры:
e - RowSorterEvent, описывающий изменение
Исключения:
NullPointerException - если e является null
С версии:
1.6

tableChanged

public void tableChanged(TableModelEvent e)

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

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

Обратите внимание, что начиная с версии 1.3, этот метод очищает выделение, если оно есть.

Указано в:
tableChanged в интерфейсе TableModelListener
Параметры:
e - TableModelEvent, чтобы уведомить слушателя об изменении модели таблицы

columnAdded

public void columnAdded(TableColumnModelEvent e)

Вызывается, когда столбец добавляется в модель столбцов таблицы.

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

Указано в:
columnAdded в интерфейсе TableColumnModelListener
Параметры:
e - TableColumnModelEvent
См. также:
TableColumnModelListener

columnRemoved

public void columnRemoved(TableColumnModelEvent e)

Вызывается, когда столбец удаляется из модели столбцов таблицы.

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

Указано в:
columnRemoved в интерфейсе TableColumnModelListener
Параметры:
e - TableColumnModelEvent
См. также:
TableColumnModelListener

columnMoved

public void columnMoved(TableColumnModelEvent e)

Вызывается, когда столбец перемещается. Если ячейка редактируется, то редактирование останавливается, и ячейка перерисовывается.

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

Указано в:
columnMoved в интерфейсе TableColumnModelListener
Параметры:
e - полученное событие
См. также:
TableColumnModelListener

columnMarginChanged

public void columnMarginChanged(ChangeEvent e)

Вызывается, когда столбец перемещается из-за изменения поля. Если ячейка редактируется, то редактирование останавливается, и ячейка перерисовывается.

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

Указано в:
columnMarginChanged в интерфейсе TableColumnModelListener
Параметры:
e - полученное событие
См. также:
TableColumnModelListener

columnSelectionChanged

public void columnSelectionChanged(ListSelectionEvent e)

Вызывается, когда изменяется модель выбора TableColumnModel.

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

Указано в:
columnSelectionChanged в интерфейсе TableColumnModelListener
Параметры:
e - полученное событие
См. также:
TableColumnModelListener

valueChanged

public void valueChanged(ListSelectionEvent e)

Вызывается, когда изменяется выбор строки - перерисовывает, чтобы показать новый выбор.

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

Указано в:
valueChanged в интерфейсе ListSelectionListener
Параметры:
e - полученное событие
См. также:
ListSelectionListener

editingStopped

public void editingStopped(ChangeEvent e)

Вызывается, когда редактирование завершено. Изменения сохраняются, и редактор отбрасывается.

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

Указано в:
editingStopped в интерфейсе CellEditorListener
Параметры:
e - полученное событие
См. также:
CellEditorListener

editingCanceled

public void editingCanceled(ChangeEvent e)

Вызывается, когда редактирование отменено. Объект редактора отбрасывается, и ячейка снова отображается.

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

Указано в:
editingCanceled в интерфейсе CellEditorListener
Параметры:
e - полученное событие
См. также:
CellEditorListener

setPreferredScrollableViewportSize

@BeanProperty(bound=false,
              description="The preferred size of the viewport.")
public void setPreferredScrollableViewportSize(Dimension size)

Устанавливает предпочтительный размер видового окна для этой таблицы.

Параметры:
size - объект Dimension, указывающий preferredSize JViewport, представление которого - эта таблица
См. также:
Scrollable.getPreferredScrollableViewportSize()

getPreferredScrollableViewportSize

public Dimension getPreferredScrollableViewportSize()

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

Указано в:
getPreferredScrollableViewportSize в интерфейсе Scrollable
Возвращает:
объект Dimension, содержащий preferredSize таблицы, отображающей эту таблицу
См. также:
Scrollable.getPreferredScrollableViewportSize()

getScrollableUnitIncrement

public int getScrollableUnitIncrement(Rectangle visibleRect,
                                      int orientation,
                                      int direction)

Возвращает приращение прокрутки (в пикселях), полностью отображающее новую строку или столбец (в зависимости от ориентации).

Этот метод вызывается каждый раз, когда пользователь запрашивает прокрутку на единицу.

Указано в:
getScrollableUnitIncrement в интерфейсе Scrollable
Параметры:
visibleRect - область просмотра, видимая внутри области просмотра
orientation - либо SwingConstants.VERTICAL, либо SwingConstants.HORIZONTAL
direction - меньше нуля для прокрутки вверх/влево, больше нуля для вниз/вправо
Возвращает:
приращение "единицы" для прокрутки в указанном направлении
См. также:
Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)

getScrollableBlockIncrement

public int getScrollableBlockIncrement(Rectangle visibleRect,
                                       int orientation,
                                       int direction)

Возвращает visibleRect.height или visibleRect.width, в зависимости от ориентации этой таблицы. Обратите внимание, что начиная со Swing 1.1.1 (Java 2 v 1.2.2) возвращаемое значение гарантирует чистое выравнивание области просмотра на границе строки.

Указано в:
getScrollableBlockIncrement в интерфейсе Scrollable
Параметры:
visibleRect - Область просмотра, видимая внутри области просмотра
orientation - Либо SwingConstants.VERTICAL, либо SwingConstants.HORIZONTAL.
direction - Меньше нуля для прокрутки вверх/влево, больше нуля для вниз/вправо.
Возвращает:
visibleRect.height или visibleRect.width в зависимости от ориентации
См. также:
Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int)

getScrollableTracksViewportWidth

@BeanProperty(bound=false)
public boolean getScrollableTracksViewportWidth()

Возвращает false, если autoResizeMode установлено в AUTO_RESIZE_OFF, что указывает, что ширина области просмотра не определяет ширину таблицы. В противном случае возвращает true.

Указано в:
getScrollableTracksViewportWidth в интерфейсе Scrollable
Возвращает:
false, если autoResizeMode установлено в AUTO_RESIZE_OFF, в противном случае возвращает true
См. также:
Scrollable.getScrollableTracksViewportWidth()

getScrollableTracksViewportHeight

@BeanProperty(bound=false)
public boolean getScrollableTracksViewportHeight()

Возвращает false, чтобы указать, что высота области просмотра не определяет высоту таблицы, если getFillsViewportHeight не равно true, и предпочтительная высота таблицы меньше высоты области просмотра.

Указано в:
getScrollableTracksViewportHeight в интерфейсе Scrollable
Возвращает:
false, если getFillsViewportHeight не равно true, и таблица должна быть растянута, чтобы заполнить область просмотра
См. также:
Scrollable.getScrollableTracksViewportHeight(), setFillsViewportHeight(boolean), getFillsViewportHeight()

setFillsViewportHeight

@BeanProperty(description="Whether or not this table is always made large enough to fill the height of an enclosing viewport")
public void setFillsViewportHeight(boolean fillsViewportHeight)

Устанавливает, всегда ли эта таблица делает себя достаточно большой, чтобы заполнить высоту окружающего viewport. Если предпочтительная высота таблицы меньше высоты viewport, таблица будет растянута, чтобы заполнить viewport. Другими словами, это гарантирует, что таблица никогда не будет меньше viewport. Значение по умолчанию для этого свойства — false.

Параметры:
fillsViewportHeight - всегда ли эта таблица делает себя достаточно большой, чтобы заполнить высоту окружающего viewport
С:
1.6
См. также:
getFillsViewportHeight(), getScrollableTracksViewportHeight()

getFillsViewportHeight

public boolean getFillsViewportHeight()

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

Возвращает:
всегда ли эта таблица делает себя достаточно большой, чтобы заполнить высоту окружающего viewport
С:
1.6
См. также:
setFillsViewportHeight(boolean)

createDefaultRenderers

protected void createDefaultRenderers()

Создает стандартные рендереры ячеек для объектов, чисел, вещественных чисел, дат, логических значений и иконок.

См. также:
DefaultTableCellRenderer

createDefaultEditors

protected void createDefaultEditors()

Создает стандартные редакторы ячеек для объектов, чисел и логических значений.

См. также:
DefaultCellEditor

initializeLocalVars

protected void initializeLocalVars()

Инициализирует свойства таблицы их значениями по умолчанию.

createDefaultDataModel

protected TableModel createDefaultDataModel()

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

Возвращает:
объект табличной модели по умолчанию
См. также:
DefaultTableModel

createDefaultColumnModel

protected TableColumnModel createDefaultColumnModel()

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

Возвращает:
объект модели столбцов по умолчанию
См. также:
DefaultTableColumnModel

createDefaultSelectionModel

protected ListSelectionModel createDefaultSelectionModel()

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

Возвращает:
объект модели выделения по умолчанию
См. также:
DefaultListSelectionModel

createDefaultTableHeader

protected JTableHeader createDefaultTableHeader()

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

Возвращает:
объект заголовка таблицы по умолчанию
См. также:
JTableHeader

resizeAndRepaint

protected void resizeAndRepaint()

Эквивалентно revalidate, за которым следует repaint.

getCellEditor

public TableCellEditor getCellEditor()

Возвращает активный редактор ячейки, который является null, если таблица не находится в режиме редактирования.

Возвращает:
редактор, выполняющий редактирование, или null, если таблица не находится в режиме редактирования.
См. также:
cellEditor, getCellEditor(int, int)

setCellEditor

@BeanProperty(description="The table\'s active cell editor.")
public void setCellEditor(TableCellEditor anEditor)

Устанавливает активный редактор ячейки.

Параметры:
anEditor - активный редактор ячейки
См. также:
cellEditor

setEditingColumn

public void setEditingColumn(int aColumn)

Устанавливает переменную editingColumn.

Параметры:
aColumn - столбец редактируемой ячейки
См. также:
editingColumn

setEditingRow

public void setEditingRow(int aRow)

Устанавливает переменную editingRow.

Параметры:
aRow - строка редактируемой ячейки
См. также:
editingRow

getCellRenderer

public TableCellRenderer getCellRenderer(int row,
                                         int column)

Возвращает соответствующий рендерер для ячейки, заданной этой строкой и столбцом. Если у TableColumn для этого столбца есть рендерер, отличный от null, возвращает его. В противном случае находит класс данных в этом столбце (используя getColumnClass) и возвращает рендерер по умолчанию для этого типа данных.

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

Параметры:
row - строка ячейки для рендеринга, где 0 - первая строка
column - столбец ячейки для рендеринга, где 0 - первый столбец
Возвращает:
назначенный рендерер; если null возвращает рендерер по умолчанию для этого типа объекта
См. также:
DefaultTableCellRenderer, TableColumn.setCellRenderer(javax.swing.table.TableCellRenderer), setDefaultRenderer(java.lang.Class<?>, javax.swing.table.TableCellRenderer)

prepareRenderer

public Component prepareRenderer(TableCellRenderer renderer,
                                 int row,
                                 int column)

Подготавливает рендерер, запрашивая у модели данных значение и состояние выделения ячейки в row, column. Возвращает компонент (который может быть Component или JComponent) под местоположением события.

Во время печати этот метод будет настраивать рендерер без указания выделения или фокуса, чтобы предотвратить их отображение в печатном выводе. Чтобы выполнить другие настройки, основанные на том, печатается ли таблица, можно проверить значение JComponent.isPaintingForPrint(), либо здесь, либо в пользовательских рендерерах.

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

Параметры:
renderer - подготавливаемый TableCellRenderer
row - строка ячейки для отрисовки, где 0 — первая строка
column - столбец ячейки для отрисовки, где 0 — первый столбец
Возвращает:
Component под местоположением события

getCellEditor

public TableCellEditor getCellEditor(int row,
                                     int column)

Возвращает подходящий редактор для ячейки, заданной row и column. Если у TableColumn для данного столбца есть редактор, отличный от null, то возвращается он. В противном случае, определяется класс данных в этом столбце (используя getColumnClass) и возвращается стандартный редактор для этого типа данных.

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

Параметры:
row - строка ячейки для редактирования, где 0 — первая строка
column - столбец ячейки для редактирования, где 0 — первый столбец
Возвращает:
редактор для этой ячейки; если null возвращается стандартный редактор для этого типа ячейки
См. также:
DefaultCellEditor

prepareEditor

public Component prepareEditor(TableCellEditor editor,
                               int row,
                               int column)

Подготавливает редактор, запрашивая у модели данных значение и состояние выделения ячейки в row, column.

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

Параметры:
editor - устанавливаемый TableCellEditor
row - строка ячейки для редактирования, где 0 — первая строка
column - столбец ячейки для редактирования, где 0 — первый столбец
Возвращает:
редактируемое Component

removeEditor

public void removeEditor()

Отбрасывает объект редактора и освобождает занимаемое им место для отображения ячейки.

paramString

protected String paramString()

Возвращает строковое представление этой таблицы. Этот метод предназначен только для отладки, и содержание и формат возвращаемой строки могут различаться в различных реализациях. Возвращаемая строка может быть пустой, но не null.

Переопределяет:
paramString в классе JComponent
Возвращает:
строковое представление этой таблицы

print

public boolean print()
              throws PrinterException

Удобный метод, который отображает диалог печати и затем печатает эту JTable в режиме PrintMode.FIT_WIDTH, без заголовка и подвала. В течение печати будет отображаться модальный диалог-индикатор выполнения с опцией прерывания.

Примечание: В режиме без графического интерфейса диалоги не отображаются, и печать происходит на стандартном принтере.

Возвращает:
true, если печать не была отменена пользователем
Исключение:
SecurityException - если текущему потоку запрещено инициировать запрос печати
PrinterException - если в системе печати произошла ошибка, из-за которой задание было прервано
С:
1.5
См. также:
print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean, PrintService), getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)

print

public boolean print(JTable.PrintMode printMode)
              throws PrinterException

Удобный метод, который отображает диалог печати и затем печатает эту JTable в заданном режиме печати, без заголовка и подвала. В течение печати будет отображаться модальный диалог-индикатор выполнения с опцией прерывания.

Примечание: В режиме без графического интерфейса диалоги не отображаются, и печать происходит на стандартном принтере.

Параметры:
printMode - режим печати, который должен использовать печатаемый объект
Возвращает:
true, если печать не была отменена пользователем
Исключение:
SecurityException - если текущему потоку запрещено инициировать запрос печати
PrinterException - если в системе печати произошла ошибка, из-за которой задание было прервано
С:
1.5
См. также:
print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean, PrintService), getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)

print

public boolean print(JTable.PrintMode printMode,
                     MessageFormat headerFormat,
                     MessageFormat footerFormat)
              throws PrinterException

Удобный метод, который отображает диалог печати и затем печатает эту JTable в заданном режиме печати, с указанным заголовком и подвалом. В течение печати будет отображаться модальный диалог-индикатор выполнения с опцией прерывания.

Примечание: В режиме без графического интерфейса диалоги не отображаются, и печать происходит на стандартном принтере.

Параметры:
printMode - режим печати, который должен использовать печатаемый объект
headerFormat - MessageFormat задающий текст для печати заголовка, или null для отсутствия заголовка
footerFormat - MessageFormat задающий текст для печати подвала, или null для отсутствия подвала
Возвращает:
true, если печать не была отменена пользователем
Исключение:
SecurityException - если текущему потоку запрещено инициировать запрос печати
PrinterException - если в системе печати произошла ошибка, из-за которой задание было прервано
С:
1.5
См. также:
print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean, PrintService), getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)

print

public boolean print(JTable.PrintMode printMode,
                     MessageFormat headerFormat,
                     MessageFormat footerFormat,
                     boolean showPrintDialog,
                     PrintRequestAttributeSet attr,
                     boolean interactive)
              throws PrinterException,
                     HeadlessException

Печатает эту таблицу, как указано в полном методе print, с указанным по умолчанию принтером в качестве службы печати.

Параметры:
printMode - режим печати, который должен использовать печатаемый объект
headerFormat - MessageFormat задающий текст для печати заголовка, или null для отсутствия заголовка
footerFormat - MessageFormat задающий текст для печати подвала, или null для отсутствия подвала
showPrintDialog - отображать ли диалог печати
attr - PrintRequestAttributeSet задающий атрибуты печати, или null для отсутствия атрибутов
interactive - печатать ли в интерактивном режиме
Возвращает:
true, если печать не была отменена пользователем
Исключение:
HeadlessException - если метод запросил отображение диалога печати или интерактивную работу, и GraphicsEnvironment.isHeadless вернул true
SecurityException - если текущему потоку запрещено инициировать запрос печати
PrinterException - если в системе печати произошла ошибка, из-за которой задание было прервано
С:
1.5
См. также:
print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean, PrintService), getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)

print

public boolean print(JTable.PrintMode printMode,
                     MessageFormat headerFormat,
                     MessageFormat footerFormat,
                     boolean showPrintDialog,
                     PrintRequestAttributeSet attr,
                     boolean interactive,
                     PrintService service)
              throws PrinterException,
                     HeadlessException

Печатает эту JTable. Предпринимает шаги, которые большинство разработчиков выполняют для печати JTable. Короче говоря, подготавливает таблицу, вызывает getPrintable для получения соответствующего Printable, а затем отправляет его на принтер.

Параметр boolean позволяет указать, отображать ли диалог печати пользователю. Если диалог отображается, пользователь может изменить целевой принтер или атрибуты печати, а также отменить печать. Еще два параметра позволяют указать PrintService и атрибуты печати. Эти параметры могут быть использованы либо для задания начальных значений для диалога печати, либо для задания значений, когда диалог не отображается.

Второй параметр boolean позволяет указать, выполнять ли печать в интерактивном режиме. Если true, в течение печати отображается модальный диалог прогресса с опцией отмены. Этот диалог также предотвращает любые действия пользователя, которые могут повлиять на таблицу. Однако он не может предотвратить изменение таблицы кодом (например, другим потоком, который публикует обновления с использованием SwingUtilities.invokeLater). Поэтому ответственность разработчика заключается в обеспечении того, чтобы никакой другой код не изменял таблицу каким-либо образом во время печати (недопустимые изменения включают изменения размера, рендереров или базовых данных). Поведение печати не определено, если таблица изменяется во время печати.

Если для этого параметра указано false, диалог не отобразится, и печать начнется немедленно в потоке обработки событий. Это блокирует обработку любых других событий, включая перерисовки, до завершения печати. Хотя это эффективно предотвращает изменение таблицы, это не обеспечивает хороший пользовательский опыт. По этой причине указание false рекомендуется только при печати из приложения без видимого графического интерфейса.

Примечание: Попытка отобразить диалог печати или выполнить печать в интерактивном режиме в режиме без графического интерфейса приведет к HeadlessException.

Прежде чем получить печатный документ, этот метод корректно завершит редактирование, если необходимо, чтобы предотвратить отображение редактора в печатном результате. Кроме того, JTable подготовит свои рендеры во время печати таким образом, чтобы выделение и фокус не обозначались. Для дальнейшей настройки внешнего вида таблицы в распечатке разработчики могут предоставить пользовательские рендеры или код рисования, условный на значение JComponent.isPaintingForPrint().

См. getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat) для получения более подробной информации о том, как печатается таблица.

Параметры:
printMode - режим печати, который должен использовать печатный документ
headerFormat - MessageFormat , определяющий текст, используемый для печати заголовка, или null для отсутствия заголовка
footerFormat - MessageFormat , определяющий текст, используемый для печати подвала, или null для отсутствия подвала
showPrintDialog - отображать ли диалог печати
attr - PrintRequestAttributeSet , определяющий любые атрибуты печати, или null для отсутствия атрибутов
interactive - печатать ли в интерактивном режиме
service - целевой PrintService, или null для использования принтера по умолчанию
Возвращает:
true, если печать не отменена пользователем
Исключения:
HeadlessException - если метод запрошен отобразить диалог печати или выполнить печать в интерактивном режиме, а GraphicsEnvironment.isHeadless возвращает true
SecurityException - если существует менеджер безопасности, и его метод SecurityManager.checkPrintJobAccess() запрещает этому потоку создавать запрос на задание печати
PrinterException - если в системе печати произошла ошибка, из-за которой задание было прервано
С:
1.6
См. также:
getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat), GraphicsEnvironment.isHeadless()

getPrintable

public Printable getPrintable(JTable.PrintMode printMode,
                              MessageFormat headerFormat,
                              MessageFormat footerFormat)

Возвращает Printable для печати этой JTable.

Этот метод предназначен для тех, кто хочет настроить реализацию Printable по умолчанию, используемую методами JTable's print. Разработчики, которые просто хотят распечатать таблицу, должны напрямую использовать один из этих методов.

Printable может быть запрошен в одном из двух режимов печати. В обоих режимах строки таблицы естественным образом распределяются по страницам, помещая на каждой странице как можно больше строк. PrintMode.NORMAL указывает, что таблица печатается в ее текущем размере. В этом режиме может потребоваться распределить столбцы по страницам аналогичным образом, как и строки. При необходимости столбцы распределяются в порядке, соответствующем ComponentOrientation таблицы. PrintMode.FIT_WIDTH указывает, что вывод должен быть уменьшен, если это необходимо, чтобы поместить весь столбец таблицы (и, следовательно, все столбцы) на каждой странице. Ширина и высота масштабируются одинаково, сохраняя соотношение сторон вывода.

Printable помещает соответствующий раздел из JTableHeader таблицы в начало каждой страницы, если она есть.

В вывод можно добавить текст заголовка и подвала, передав аргументы MessageFormat. Код печати запрашивает строки из форматов, предоставляя один элемент, который может быть включен в форматированную строку: Integer , представляющий текущий номер страницы.

Рекомендуется обратиться к документации MessageFormat, так как некоторые символы, такие как одинарная кавычка, являются специальными и требуют экранирования.

Вот пример создания MessageFormat , который может быть использован для печати "Таблица Дюка: Страница - " и текущего номера страницы:

// notice the escaping of the single quote
     // notice how the page number is included with "{0}"
     MessageFormat format = new MessageFormat("Duke''s Table: Page - {0}");

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

  • В любом режиме, когда текст заголовка или подвала слишком широк, чтобы полностью поместиться в область печати — печатается как можно большая часть текста, начиная с начала, как определено ComponentOrientation таблицы.
  • В любом режиме, когда строка слишком длинная, чтобы поместиться в область печати — печатается верхняя часть строки, а нижняя граница таблицы не рисуется.
  • В режиме PrintMode.NORMAL , когда столбец слишком широк, чтобы поместиться в область печати — печатается центральная часть столбца, а левая и правая границы таблицы не рисуются.

Вполне допустимо, что этот Printable будет вложен в другой для создания сложных отчетов и документов. Вы даже можете запросить, чтобы разные страницы были отрисованы в разные области печати разных размеров. Реализация должна быть готова обрабатывать это (возможно, выполняя вычисления макета на лету). Однако предоставление разных высот для каждой страницы, вероятно, не будет хорошо работать с PrintMode.NORMAL, когда ей необходимо распределять столбцы по страницам.

Что касается настройки внешнего вида таблицы в распечатке, JTable само позаботится о скрытии выделения и фокуса во время печати. Для дополнительных настроек ваши рендеры или код рисования могут настроить внешний вид, основываясь на значении JComponent.isPaintingForPrint().

Также, перед вызовом этого метода, вы можете сначала изменить состояние таблицы, например, отменить редактирование ячейки или обеспечить соответствующий размер таблицы пользователем. Однако вы не должны изменять состояние таблицы после получения этого Printable (недопустимые изменения включают изменения размера или базовых данных). Поведение возвращённого Printable не определено после изменения таблицы.

Параметры:
printMode - режим печати, который должен использовать печатный документ
headerFormat - MessageFormat , определяющий текст, используемый для печати заголовка, или null для отсутствия заголовка
footerFormat - MessageFormat , определяющий текст, используемый для печати подвала, или null для отсутствия подвала
Возвращает:
Printable для печати этой JTable
С:
1.5
См. также:
print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean), Printable, PrinterJob

getAccessibleContext

@BeanProperty(bound=false)
public AccessibleContext getAccessibleContext()

Возвращает AccessibleContext, связанный с этой JTable. Для таблиц AccessibleContext принимает форму AccessibleJTable. Новый экземпляр AccessibleJTable создается при необходимости.

Определено в:
getAccessibleContext в интерфейсе Accessible
Переопределяет:
getAccessibleContext в классе Component
Возвращает:
AccessibleJTable, который служит AccessibleContext этой JTable

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/JTable.html

Spec-Zone .ru
спецификации, руководства, описания, API