Spec-Zone.ru › OpenJDK 8

Класс JTable

  • java.lang.Object
    • java.awt.Component
      • java.awt.Container
        • javax.swing.JComponent
          • javax.swing.JTable
Все реализованные интерфейсы:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, CellEditorListener, ListSelectionListener, RowSorterListener, TableColumnModelListener, TableModelListener, Scrollable

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 new Integer(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.

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

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

Модификатор и тип Класс и описание
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 defaultEditorsByColumnClass

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

protected Hashtable 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(TableModel dm)

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

JTable(TableModel dm, TableColumnModel cm)

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

JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm)

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

JTable(Vector rowData, Vector columnNames)

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

Краткое описание методов

Модификатор и тип Метод и описание
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.

Class<?> getColumnClass(int column)

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

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.

protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)

Вызывается для обработки привязок клавиш для ks в результате KeyEvent e.

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)

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

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)

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

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 newModel)

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

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, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, 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, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, 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

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

rowSelectionAllowed

protected boolean rowSelectionAllowed

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

cellSelectionEnabled

protected boolean cellSelectionEnabled

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

editorComp

protected transient Component editorComp

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

cellEditor

protected transient TableCellEditor cellEditor

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

editingColumn

protected transient int editingColumn

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

editingRow

protected transient int editingRow

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

defaultRenderersByColumnClass

protected transient Hashtable defaultRenderersByColumnClass

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

defaultEditorsByColumnClass

protected transient Hashtable 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. Если любой из параметров null, этот метод инициализирует таблицу соответствующей моделью по умолчанию. Флаг 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 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()

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

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

removeNotify

public void removeNotify()

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

Overrides:
removeNotify в классе JComponent
См. также:
unconfigureEnclosingScrollPane()

unconfigureEnclosingScrollPane

protected void unconfigureEnclosingScrollPane()

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

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

createScrollPaneForTable

@Deprecated
public static JScrollPane createScrollPaneForTable(JTable aTable)

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

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

setTableHeader

public void setTableHeader(JTableHeader tableHeader)

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

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

getTableHeader

public JTableHeader getTableHeader()

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

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

setRowHeight

public void setRowHeight(int rowHeight)

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

Parameters:
rowHeight - новая высота строки
Throws:
IllegalArgumentException - если rowHeight меньше 1
См. также:
getRowHeight()

getRowHeight

public int getRowHeight()

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

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

setRowHeight

public void setRowHeight(int row,
                         int rowHeight)

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

Parameters:
row - строка, высота которой изменяется
rowHeight - новая высота строки в пикселях
Throws:
IllegalArgumentException - если rowHeight меньше 1
Since:
1.3

getRowHeight

public int getRowHeight(int row)

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

Parameters:
row - строка, высота которой возвращается
Returns:
высота ячеек в строке в пикселях
Since:
1.3

setRowMargin

public void setRowMargin(int rowMargin)

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

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

getRowMargin

public int getRowMargin()

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

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

setIntercellSpacing

public void setIntercellSpacing(Dimension intercellSpacing)

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

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

getIntercellSpacing

public Dimension getIntercellSpacing()

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

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

setGridColor

public void setGridColor(Color gridColor)

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

Parameters:
gridColor - новый цвет линий сетки
Throws:
IllegalArgumentException - если gridColor равен null
См. также:
getGridColor()

getGridColor

public Color getGridColor()

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

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

setShowGrid

public void setShowGrid(boolean showGrid)

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

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

setShowHorizontalLines

public void setShowHorizontalLines(boolean showHorizontalLines)

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

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

setShowVerticalLines

public void setShowVerticalLines(boolean showVerticalLines)

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

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

getShowHorizontalLines

public boolean getShowHorizontalLines()

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

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

getShowVerticalLines

public boolean getShowVerticalLines()

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

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

setAutoResizeMode

public void setAutoResizeMode(int mode)

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

Parameters:
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.

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

setAutoCreateColumnsFromModel

public void setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)

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

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

getAutoCreateColumnsFromModel

public boolean getAutoCreateColumnsFromModel()

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

Returns:
автоCreateColumnsFromModel таблицы
См. также:
setAutoCreateColumnsFromModel(boolean), createDefaultColumnsFromModel()

createDefaultColumnsFromModel

public void createDefaultColumnsFromModel()

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

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

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

setDefaultRenderer

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

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

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

getDefaultRenderer

public TableCellRenderer getDefaultRenderer(Class<?> columnClass)

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

Parameters:
columnClass - вернуть рендерер ячейки по умолчанию для этого класса столбца
Returns:
рендерер для этого класса столбца
See Also:
setDefaultRenderer(java.lang.Class<?>, javax.swing.table.TableCellRenderer), getColumnClass(int)

setDefaultEditor

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

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

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

getDefaultEditor

public TableCellEditor getDefaultEditor(Class<?> columnClass)

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

Parameters:
columnClass - вернуть редактор ячейки по умолчанию для этого класса столбца
Returns:
редактор ячейки по умолчанию для этого класса столбца
See Also:
setDefaultEditor(java.lang.Class<?>, javax.swing.table.TableCellEditor), getColumnClass(int)

setDragEnabled

public void setDragEnabled(boolean b)

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

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

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

Parameters:
b - включить или отключить автоматическую обработку перетаскивания
Throws:
HeadlessException - если b равно true и GraphicsEnvironment.isHeadless() возвращает true
Since:
1.4
See Also:
GraphicsEnvironment.isHeadless(), getDragEnabled(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandler

getDragEnabled

public boolean getDragEnabled()

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

Returns:
значение свойства dragEnabled
Since:
1.4
See Also:
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 , который принимает опускание.

Parameters:
dropMode - используемый режим опускания
Throws:
IllegalArgumentException - если режим опускания не поддерживается или null
Since:
1.6
See Also:
getDropMode(), getDropLocation(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandler

getDropMode

public final DropMode getDropMode()

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

Returns:
режим опускания для этого компонента
Since:
1.6
See Also:
setDropMode(javax.swing.DropMode)

getDropLocation

public final JTable.DropLocation getDropLocation()

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

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

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

Returns:
расположение опускания
Since:
1.6
See Also:
setDropMode(javax.swing.DropMode), TransferHandler.canImport(TransferHandler.TransferSupport)

setAutoCreateRowSorter

public void setAutoCreateRowSorter(boolean autoCreateRowSorter)

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

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

Parameters:
autoCreateRowSorter - следует ли автоматически создавать RowSorter
Since:
1.6
See Also:
TableRowSorter

getAutoCreateRowSorter

public boolean getAutoCreateRowSorter()

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

Returns:
true, если должен создаваться RowSorter при изменении модели
Since:
1.6

setUpdateSelectionOnSort

public void setUpdateSelectionOnSort(boolean update)

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

Parameters:
update - обновлять ли выделение при сортировке
Since:
1.6

getUpdateSelectionOnSort

public boolean getUpdateSelectionOnSort()

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

Returns:
обновлять ли выделение при сортировке
Since:
1.6

setRowSorter

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

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

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

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

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

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

getRowSorter

public RowSorter<? extends TableModel> getRowSorter()

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

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

setSelectionMode

public void setSelectionMode(int selectionMode)

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

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

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

См. также:
JList.setSelectionMode(int)

setRowSelectionAllowed

public void setRowSelectionAllowed(boolean rowSelectionAllowed)

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

Параметры:
rowSelectionAllowed — true, если эта модель будет разрешать выбор строк
См. также:
getRowSelectionAllowed()

getRowSelectionAllowed

public boolean getRowSelectionAllowed()

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

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

setColumnSelectionAllowed

public void setColumnSelectionAllowed(boolean columnSelectionAllowed)

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

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

getColumnSelectionAllowed

public boolean getColumnSelectionAllowed()

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

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

setCellSelectionEnabled

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

public int getSelectedRow()

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

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

getSelectedColumn

public int getSelectedColumn()

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

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

getSelectedRows

public int[] getSelectedRows()

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

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

getSelectedColumns

public int[] getSelectedColumns()

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

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

getSelectedRowCount

public int getSelectedRowCount()

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

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

getSelectedColumnCount

public int getSelectedColumnCount()

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

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

isRowSelected

public boolean isRowSelected(int row)

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

Возвращает:
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. Большинство изменений в выделении, являющиеся результатом событий клавиатуры или мыши, полученных UI, направляются через этот метод, чтобы поведение могло быть переопределено подклассом. Некоторые UI могут нуждаться в большей функциональности, чем предоставляет этот метод, например, при манипулировании ведущим элементом для несмежного выделения, и могут не вызывать этот метод для некоторых изменений выделения.

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

  • 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

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

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

public int getRowCount()

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

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

getColumnCount

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], алгоритм устанавливает все размеры на соответствующее граничное значение (максимальное или минимальное).

Переопределяет:
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().

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

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

sizeColumnsToFit

public void sizeColumnsToFit(int resizingColumn)

Устарело, начиная с Java 2 платформы v1.4. Используйте метод doLayout() вместо этого.

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

getToolTipText

public String getToolTipText(MouseEvent event)

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

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

Переопределяет:
getToolTipText в классе JComponent
См. также:
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, если эти индексы находятся в допустимом диапазоне, и ячейка в этих индексах редактируема. Для предотвращения редактирования JTable определенной таблицы, столбца или значения ячейки верните false из метода isCellEditable в интерфейсе TableModel.

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

isEditing

public boolean isEditing()

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

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

getEditorComponent

public Component getEditorComponent()

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

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

getEditingColumn

public int getEditingColumn()

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

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

getEditingRow

public int getEditingRow()

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

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

getUI

public TableUI getUI()

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

Возвращает:
объект TableUI , который отображает этот компонент

setUI

public void setUI(TableUI ui)

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

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

updateUI

public void updateUI()

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

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

getUIClassID

public String getUIClassID()

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

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

setModel

public void setModel(TableModel dataModel)

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

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

getModel

public TableModel getModel()

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

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

setColumnModel

public void setColumnModel(TableColumnModel columnModel)

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

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

getColumnModel

public TableColumnModel getColumnModel()

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

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

setSelectionModel

public void setSelectionModel(ListSelectionModel newModel)

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

Параметры:
newModel - новая модель выбора
Исключения:
IllegalArgumentException - если newModel является 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

columnAdded

public void columnAdded(TableColumnModelEvent e)

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

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

Определено в:
columnAdded в интерфейсе TableColumnModelListener
См. также:
TableColumnModelListener

columnRemoved

public void columnRemoved(TableColumnModelEvent e)

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

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

Определено в:
columnRemoved в интерфейсе TableColumnModelListener
См. также:
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

public void setPreferredScrollableViewportSize(Dimension size)

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

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

getPreferredScrollableViewportSize

public Dimension getPreferredScrollableViewportSize()

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

Определено в:
getPreferredScrollableViewportSize в интерфейсе Scrollable
Возвращает:
объект Dimension содержащий preferredSize области просмотра JViewport
См. также:
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

public boolean getScrollableTracksViewportWidth()

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

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

getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()

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

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

setFillsViewportHeight

public void setFillsViewportHeight(boolean fillsViewportHeight)

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

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

getFillsViewportHeight

public boolean getFillsViewportHeight()

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

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

processKeyBinding

protected boolean processKeyBinding(KeyStroke ks,
                                    KeyEvent e,
                                    int condition,
                                    boolean pressed)

Описание скопировано из класса: JComponent

Вызывается для обработки нажатий клавиш для ks в результате KeyEvent e. Это получает соответствующий InputMap, получает привязку, получает действие из ActionMap, а затем (если действие найдено и компонент активен) вызывает notifyAction для уведомления действия.

Переопределяет:
processKeyBinding в классе JComponent
Параметры:
ks - запрашиваемый KeyStroke
e - KeyEvent
condition - одно из следующих значений:
  • JComponent.WHEN_FOCUSED
  • JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
  • JComponent.WHEN_IN_FOCUSED_WINDOW
pressed - true, если нажата клавиша
Возвращает:
true, если была привязка к действию, и действие было активным

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 , если таблица не находится в режиме редактирования.

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

setCellEditor

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) для получения более подробной информации о том, как печатается таблица.

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

getPrintable

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

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

Этот метод предназначен для тех, кто хочет настроить реализацию Printable по умолчанию, используемую методами JTable.

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

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

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

Рекомендуется ознакомиться с документацией 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 не определено после изменения таблицы.

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

getAccessibleContext

public AccessibleContext getAccessibleContext()

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

Specified by:
getAccessibleContext в интерфейсе Accessible
Overrides:
getAccessibleContext в классе Component
Returns:
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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API