Spec-Zone.ru › OpenJDK 25

Класс 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
@JavaBean(defaultProperty="UI", description="A component which displays data in a two dimensional grid.") public class JTable extends JComponent implements TableModelListener, Scrollable, TableColumnModelListener, ListSelectionListener, CellEditorListener, Accessible, RowSorterListener
JTable используется для отображения и редактирования обычных двумерных таблиц ячеек. См. раздел Как использовать таблицы в Руководстве по Java, где представлены инструкции и примеры использования JTable.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Начиная с версии:
1.2
См. также:
  • DefaultTableModel
  • TableRowSorter

Краткое описание вложенных классов

Модификатор и тип Класс Описание
protected class  JTable.AccessibleJTable
Этот класс реализует поддержку специальных возможностей для класса JTable.
static final class  JTable.DropLocation
Подкласс TransferHandler.DropLocation, представляющий место сброса для JTable.
static enum  JTable.PrintMode
Режимы печати, используемые при печати объектов JTable.

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

JComponent.AccessibleJComponent

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

Container.AccessibleAWTContainer

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

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

Краткое описание полей

Модификатор и тип Поле Описание
static final int AUTO_RESIZE_ALL_COLUMNS
При каждой операции изменения размера пропорционально изменять ширину всех столбцов.
static final int AUTO_RESIZE_LAST_COLUMN
При каждой операции изменения размера применять изменения только к последнему столбцу.
static final int AUTO_RESIZE_NEXT_COLUMN
При изменении столбца в пользовательском интерфейсе изменять следующий столбец в противоположном направлении.
static final int AUTO_RESIZE_OFF
Не изменять ширину столбцов автоматически; вместо этого использовать горизонтальную полосу прокрутки.
static final int AUTO_RESIZE_SUBSEQUENT_COLUMNS
При изменении размера в пользовательском интерфейсе изменять последующие столбцы, чтобы сохранить общую ширину; это поведение используется по умолчанию.
protected boolean autoCreateColumnsFromModel
Если задано значение true, таблица запросит TableModel для создания набора столбцов по умолчанию.
protected int autoResizeMode
Определяет, изменяет ли таблица ширину своих столбцов автоматически, чтобы они занимали всю ширину таблицы, и каким образом выполняется изменение размера.
protected TableCellEditor cellEditor
Активный объект редактора ячейки, который занимает область экрана, отведённую текущей ячейке, и позволяет пользователю изменять её содержимое.
protected boolean cellSelectionEnabled
Устарело начиная с платформы Java 2 версии 1.3.
protected TableColumnModel columnModel
TableColumnModel таблицы.
protected TableModel dataModel
TableModel таблицы.
protected Hashtable<Object,Object> defaultEditorsByColumnClass
Таблица объектов, отображающих и редактирующих содержимое ячейки, индексируемая по классу, как указано в getColumnClass интерфейса TableModel.
protected Hashtable<Object,Object> defaultRenderersByColumnClass
Таблица объектов, отображающих содержимое ячейки, индексируемая по классу, как указано в getColumnClass интерфейса TableModel.
protected int editingColumn
Обозначает столбец редактируемой ячейки.
protected int editingRow
Обозначает строку редактируемой ячейки.
protected Component editorComp
При редактировании — Component, выполняющий редактирование.
protected Color gridColor
Цвет сетки.
protected Dimension preferredViewportSize
Используется интерфейсом Scrollable для определения первоначально видимой области.
protected int rowHeight
Высота каждой строки таблицы в пикселях.
protected int rowMargin
Высота в пикселях отступа между ячейками каждой строки.
protected boolean rowSelectionAllowed
Значение true, если в этой таблице разрешено выделение строк.
protected Color selectionBackground
Цвет фона выделенных ячеек.
protected Color selectionForeground
Цвет текста выделенных ячеек.
protected ListSelectionModel selectionModel
ListSelectionModel таблицы, используемый для отслеживания выделения строк.
protected boolean showHorizontalLines
Таблица отображает горизонтальные линии между ячейками, если showHorizontalLines имеет значение true.
protected boolean showVerticalLines
Таблица отображает вертикальные линии между ячейками, если showVerticalLines имеет значение true.
protected JTableHeader tableHeader
TableHeader, связанный с таблицей.

Поля, объявленные в классе JComponent

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

Поля, объявленные в классе Component

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

Поля, объявленные в интерфейсе ImageObserver

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

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

Конструктор Описание
JTable()
Создаёт JTable по умолчанию, инициализированный моделью данных, моделью столбцов и моделью выделения по умолчанию.
JTable(int numRows, int numColumns)
Создаёт JTable с numRows и numColumns пустых ячеек, используя DefaultTableModel.
JTable(Object[][] rowData, Object[] columnNames)
Создаёт JTable для отображения значений двумерного массива rowData с именами столбцов columnNames.
JTable(Vector<? extends Vector> rowData, Vector<?> columnNames)
Создаёт JTable для отображения значений из Vector объектов типа Vectors, rowData, с именами столбцов columnNames.
JTable(TableModel dm)
Создаёт JTable, инициализированный моделью данных dm, моделью столбцов и моделью выделения по умолчанию.
JTable(TableModel dm, TableColumnModel cm)
Создаёт JTable, инициализированный моделью данных dm, моделью столбцов cm и моделью выделения по умолчанию.
JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm)
Создаёт JTable, инициализированный моделью данных dm, моделью столбцов cm и моделью выделения sm.

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

Модификатор и тип Метод Описание
void addColumn(TableColumn aColumn)
Добавляет aColumn в конец массива столбцов, содержащегося в модели столбцов этого JTable.
void addColumnSelectionInterval(int index0, int index1)
Добавляет столбцы с index0 по index1 включительно к текущему выделению.
void addNotify()
Вызывает метод configureEnclosingScrollPane.
void addRowSelectionInterval(int index0, int index1)
Добавляет строки с index0 по index1 включительно к текущему выделению.
void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend)
Обновляет модели выделения таблицы в зависимости от состояния двух флагов: toggle и extend.
void clearSelection()
Снимает выделение со всех выделенных столбцов и строк.
void columnAdded(TableColumnModelEvent e)
Вызывается при добавлении столбца в модель столбцов таблицы.
int columnAtPoint(Point point)
Возвращает индекс столбца, в котором находится point, или -1, если результат не входит в диапазон [0, getColumnCount()-1].
void columnMarginChanged(ChangeEvent e)
Вызывается при перемещении столбца из-за изменения отступа.
void columnMoved(TableColumnModelEvent e)
Вызывается при изменении положения столбца.
void columnRemoved(TableColumnModelEvent e)
Вызывается при удалении столбца из модели столбцов таблицы.
void columnSelectionChanged(ListSelectionEvent e)
Вызывается при изменении модели выделения TableColumnModel.
protected void configureEnclosingScrollPane()
Если этот JTable является viewportView внешнего JScrollPane (что обычно и происходит), настройте этот ScrollPane, в частности установив tableHeader таблицы в качестве 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()
Возвращает признак включения автоматической обработки перетаскивания.
final JTable.DropLocation getDropLocation()
Возвращает место, которое этот компонент должен визуально обозначить как место сброса при выполнении операции DnD над компонентом, или null, если в данный момент место не нужно отображать.
final 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)
Переопределяет метод getToolTipText класса JComponent, чтобы можно было использовать подсказки средства отображения, если для него задан текст.
TableUI getUI()
Возвращает объект L&F, отображающий этот компонент.
String getUIClassID()
Возвращает суффикс, используемый для формирования имени класса L&F, отображающего этот компонент.
boolean getUpdateSelectionOnSort()
Возвращает true, если после сортировки следует обновить выделение.
Object getValueAt(int row, int column)
Возвращает значение ячейки в позициях row и column.
protected void initializeLocalVars()
Инициализирует свойства таблицы значениями по умолчанию.
boolean isCellEditable(int row, int column)
Возвращает true, если ячейка в позициях row и column доступна для редактирования.
boolean isCellSelected(int row, int column)
Возвращает true, если указанные индексы находятся в допустимом диапазоне строк и столбцов, а ячейка в указанной позиции выделена.
boolean isColumnSelected(int column)
Возвращает true, если указанный индекс находится в допустимом диапазоне столбцов и столбец с этим индексом выделен.
boolean isEditing()
Возвращает true, если ячейка редактируется.
boolean isRowSelected(int row)
Возвращает true, если указанный индекс находится в допустимом диапазоне строк и строка с этим индексом выделена.
void moveColumn(int column, int targetColumn)
Перемещает столбец column на позицию, занимаемую в данный момент в представлении столбцом targetColumn.
protected String paramString()
Возвращает строковое представление этой таблицы.
Component prepareEditor(TableCellEditor editor, int row, int column)
Подготавливает редактор, запрашивая у модели данных значение и состояние выделения ячейки в позициях row, column.
Component prepareRenderer(TableCellRenderer renderer, int row, int column)
Подготавливает средство отображения, запрашивая у модели данных значение и состояние выделения ячейки в позициях row, column.
boolean print()
Вспомогательный метод, который отображает диалог печати, а затем печатает эту JTable в режиме PrintMode.FIT_WIDTH без текста верхнего и нижнего колонтитулов.
boolean print(JTable.PrintMode printMode)
Вспомогательный метод, который отображает диалог печати, а затем печатает эту JTable в указанном режиме печати без текста верхнего и нижнего колонтитулов.
boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat)
Вспомогательный метод, который отображает диалог печати, а затем печатает эту JTable в указанном режиме печати с заданным текстом верхнего и нижнего колонтитулов.
boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive)
Печатает эту таблицу так, как указано в полнофункциональном методе print, используя принтер по умолчанию в качестве службы печати.
boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive, PrintService service)
Печатает эту JTable.
void removeColumn(TableColumn aColumn)
Удаляет aColumn из массива столбцов этого JTable.
void removeColumnSelectionInterval(int index0, int index1)
Снимает выделение со столбцов с index0 по index1 включительно.
void removeEditor()
Удаляет объект редактора и освобождает пространство, которое он занимал для отображения ячеек.
void removeNotify()
Вызывает метод unconfigureEnclosingScrollPane.
void removeRowSelectionInterval(int index0, int index1)
Снимает выделение со строк с index0 по index1 включительно.
protected void resizeAndRepaint()
Эквивалентно вызову revalidate, за которым следует repaint.
int rowAtPoint(Point point)
Возвращает индекс строки, в которой находится point, или -1, если результат не входит в диапазон [0, getRowCount()-1].
void selectAll()
Выделяет все строки, столбцы и ячейки таблицы.
void setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)
Устанавливает флаг autoCreateColumnsFromModel этой таблицы.
void setAutoCreateRowSorter(boolean autoCreateRowSorter)
Указывает, следует ли создавать RowSorter для таблицы при каждом изменении ее модели.
void setAutoResizeMode(int mode)
Устанавливает режим автоматического изменения размера таблицы при ее изменении.
void setCellEditor(TableCellEditor anEditor)
Устанавливает активный редактор ячеек.
void setCellSelectionEnabled(boolean cellSelectionEnabled)
Устанавливает, может ли в этой таблице одновременно существовать выделение столбца и выделение строки.
void setColumnModel(TableColumnModel columnModel)
Устанавливает для этой таблицы модель столбцов columnModel и регистрирует получение уведомлений от новой модели столбцов.
void setColumnSelectionAllowed(boolean columnSelectionAllowed)
Устанавливает, можно ли выделять столбцы в этой модели.
void setColumnSelectionInterval(int index0, int index1)
Выделяет столбцы с index0 по index1 включительно.
void setDefaultEditor(Class<?> columnClass, TableCellEditor editor)
Задает редактор ячеек по умолчанию, используемый, если в TableColumn не задан редактор.
void setDefaultRenderer(Class<?> columnClass, TableCellRenderer renderer)
Задает средство отображения ячеек по умолчанию, используемое, если в TableColumn не задано средство отображения.
void setDragEnabled(boolean b)
Включает или отключает автоматическую обработку перетаскивания.
final void setDropMode(DropMode dropMode)
Устанавливает режим сброса для этого компонента.
void setEditingColumn(int aColumn)
Устанавливает переменную editingColumn.
void setEditingRow(int aRow)
Устанавливает переменную editingRow.
void setFillsViewportHeight(boolean fillsViewportHeight)
Устанавливает, следует ли всегда увеличивать таблицу до размера, достаточного для заполнения высоты внешней области просмотра.
void setGridColor(Color gridColor)
Устанавливает цвет линий сетки в gridColor и перерисовывает таблицу.
void setIntercellSpacing(Dimension intercellSpacing)
Устанавливает rowMargin и columnMargin — высоту и ширину пространства между ячейками — равными intercellSpacing.
void setModel(TableModel dataModel)
Устанавливает для этой таблицы модель данных dataModel и регистрирует получение уведомлений от новой модели данных.
void setPreferredScrollableViewportSize(Dimension size)
Устанавливает предпочтительный размер области просмотра для этой таблицы.
void setRowHeight(int rowHeight)
Устанавливает высоту всех ячеек в rowHeight пикселей, проверяет допустимость размеров и перерисовывает компонент.
void setRowHeight(int row, int rowHeight)
Устанавливает высоту для row равной rowHeight, проверяет допустимость размеров и перерисовывает компонент.
void setRowMargin(int rowMargin)
Устанавливает размер пустого пространства между ячейками в соседних строках.
void setRowSelectionAllowed(boolean rowSelectionAllowed)
Устанавливает, можно ли выделять строки в этой модели.
void setRowSelectionInterval(int index0, int index1)
Выделяет строки с index0 по index1 включительно.
void setRowSorter(RowSorter<? extends TableModel> sorter)
Устанавливает RowSorter.
void setSelectionBackground(Color selectionBackground)
Устанавливает цвет фона выделенных ячеек.
void setSelectionForeground(Color selectionForeground)
Устанавливает цвет переднего плана выделенных ячеек.
void setSelectionMode(int selectionMode)
Устанавливает режим выделения таблицы, позволяющий выполнять только одиночное выделение, выделение одного непрерывного интервала или выделение нескольких интервалов.
void setSelectionModel(ListSelectionModel selectionModel)
Устанавливает для этой таблицы модель выделения строк selectionModel и регистрирует получение уведомлений от новой модели выделения.
void setShowGrid(boolean showGrid)
Устанавливает, должна ли таблица отображать линии сетки вокруг ячеек.
void setShowHorizontalLines(boolean showHorizontalLines)
Устанавливает, должна ли таблица отображать горизонтальные линии между ячейками.
void setShowVerticalLines(boolean showVerticalLines)
Устанавливает, должна ли таблица отображать вертикальные линии между ячейками.
void setSurrendersFocusOnKeystroke(boolean surrendersFocusOnKeystroke)
Устанавливает, должны ли редакторы в этой JTable получать фокус клавиатуры при активации в результате передачи JTable событий клавиатуры для ячейки.
void setTableHeader(JTableHeader tableHeader)
Устанавливает tableHeader, работающий с этим JTable, равным newHeader.
void setUI(TableUI ui)
Устанавливает объект L&F, отображающий этот компонент, и перерисовывает его.
void setUpdateSelectionOnSort(boolean update)
Указывает, следует ли обновлять выделение после сортировки.
void setValueAt(Object aValue, int row, int column)
Устанавливает значение ячейки в модели таблицы в позициях row и column.
void sizeColumnsToFit(boolean lastColumnOnly)
Устарело.
Начиная с Swing версии 1.0.3 заменено на doLayout().
void sizeColumnsToFit(int resizingColumn)
Устарело начиная с платформы Java 2 версии 1.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)
Вызывается при изменении выбора строк — перерисовывает компонент, чтобы отобразить новый выбор.

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

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

Методы, объявленные в классе 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

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

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

Методы, объявленные в классе 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
TableModel таблицы.

columnModel

protected TableColumnModel columnModel
TableColumnModel таблицы.

selectionModel

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

tableHeader

protected JTableHeader tableHeader
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, таблица запрашивает TableModel для создания набора столбцов по умолчанию.

preferredViewportSize

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

rowSelectionAllowed

protected boolean rowSelectionAllowed
Значение true означает, что в этой таблице разрешен выбор строк.

cellSelectionEnabled

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

editorComp

protected transient Component editorComp
Во время редактирования — Component, выполняющий это редактирование.

cellEditor

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

editingColumn

protected transient int editingColumn
Определяет столбец редактируемой ячейки.

editingRow

protected transient int editingRow
Определяет строку редактируемой ячейки.

defaultRenderersByColumnClass

protected transient Hashtable<Object,Object> defaultRenderersByColumnClass
Таблица объектов для отображения содержимого ячейки, индексированных по классу, указанному в getColumnClass интерфейса TableModel.

defaultEditorsByColumnClass

protected transient Hashtable<Object,Object> defaultEditorsByColumnClass
Таблица объектов для отображения и редактирования содержимого ячейки, индексированных по классу, указанному в getColumnClass интерфейса TableModel.

selectionForeground

protected Color selectionForeground
Цвет текста выбранных ячеек.

selectionBackground

protected Color selectionBackground
Цвет фона выбранных ячеек.

Подробное описание конструкторов

JTable

public JTable()
Создает JTable по умолчанию, инициализированную моделью данных, моделью столбцов и моделью выделения по умолчанию.
См. также:
  • createDefaultDataModel()
  • createDefaultColumnModel()
  • createDefaultSelectionModel()

JTable

public JTable(TableModel dm)
Создает JTable, инициализированную с dm в качестве модели данных, а также моделью столбцов и моделью выделения по умолчанию.
Параметры:
dm — модель данных таблицы
См. также:
  • createDefaultColumnModel()
  • createDefaultSelectionModel()

JTable

public JTable(TableModel dm, TableColumnModel cm)
Создает JTable, инициализированную с dm в качестве модели данных, с cm в качестве модели столбцов и с моделью выделения по умолчанию.
Параметры:
dm — модель данных таблицы
cm — модель столбцов таблицы
См. также:
  • createDefaultSelectionModel()

JTable

public JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm)
Создает JTable, инициализированную с dm в качестве модели данных, с cm в качестве модели столбцов и с sm в качестве модели выделения. Если любой из параметров равен null, этот метод инициализирует таблицу соответствующей моделью по умолчанию. Флаг autoCreateColumnsFromModel устанавливается в false, если cm не равен null; в противном случае он устанавливается в true, а модель столбцов заполняется подходящими TableColumns для столбцов в dm.
Параметры:
dm — модель данных таблицы
cm — модель столбцов таблицы
sm — модель выбора строк таблицы
См. также:
  • createDefaultDataModel()
  • createDefaultColumnModel()
  • createDefaultSelectionModel()

JTable

public JTable(int numRows, int numColumns)
Создает JTable с numRows и numColumns пустых ячеек, используя DefaultTableModel. Столбцы будут иметь имена вида «A», «B», «C» и т. д.
Параметры:
numRows — количество строк в таблице
numColumns — количество столбцов в таблице
См. также:
  • DefaultTableModel

JTable

public JTable(Vector<? extends Vector> rowData, Vector<?> columnNames)
Создает JTable для отображения значений из Vector типа Vectors, rowData, с именами столбцов, columnNames. Элементы Vectors, содержащиеся в rowData, должны содержать значения соответствующей строки. Иными словами, значение ячейки в строке 1, столбце 5 можно получить следующим кодом:
((Vector)rowData.elementAt(1)).elementAt(5);
Параметры:
rowData — данные для новой таблицы
columnNames — имена столбцов

JTable

public JTable(Object[][] rowData, Object[] columnNames)
Создает JTable для отображения значений двумерного массива, rowData, с именами столбцов, columnNames. rowData — это массив строк, поэтому значение ячейки в строке 1, столбце 5 можно получить следующим кодом:
 rowData[1][5]; 

Длина всех строк должна совпадать с длиной columnNames.

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

Подробное описание методов

addNotify

public void addNotify()
Вызывает метод configureEnclosingScrollPane.
Переопределяет:
addNotify в классе JComponent
См. также:
  • configureEnclosingScrollPane()

configureEnclosingScrollPane

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

removeNotify

public void removeNotify()
Вызывает метод unconfigureEnclosingScrollPane.
Переопределяет:
removeNotify в классе JComponent
См. также:
  • unconfigureEnclosingScrollPane()

unconfigureEnclosingScrollPane

protected void unconfigureEnclosingScrollPane()
Отменяет действие configureEnclosingScrollPane, заменяя columnHeaderView охватывающей панели прокрутки на null. Метод removeNotify класса JTable вызывает этот метод, который объявлен как protected, чтобы подкласс мог переопределить эту стандартную процедуру удаления.
Начиная с версии:
1.3
См. также:
  • removeNotify()
  • configureEnclosingScrollPane()

createScrollPaneForTable

@Deprecated public static JScrollPane createScrollPaneForTable(JTable aTable)
Устарело.
Начиная с версии Swing 1.0.2 заменено на new JScrollPane(aTable).
Эквивалентно new JScrollPane(aTable).
Параметры:
aTable — JTable для панели прокрутки
Возвращает:
JScrollPane, созданную с помощью aTable

setTableHeader

@BeanProperty(description="The JTableHeader instance which renders the column headers.") public void setTableHeader(JTableHeader tableHeader)
Устанавливает tableHeader, работающий с этим JTable, в значение newHeader. Значение tableHeader для null допустимо.
Параметры:
tableHeader — новый заголовок таблицы
См. также:
  • getTableHeader()

getTableHeader

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

setRowHeight

@BeanProperty(description="The height of the specified row.") public void setRowHeight(int rowHeight)
Устанавливает высоту всех ячеек в пикселях равной rowHeight, повторно проверяет компоновку и перерисовывает таблицу. Высота ячеек будет равна высоте строки за вычетом поля строки.
Параметры:
rowHeight — новая высота строки
Вызывает исключение:
IllegalArgumentException — если rowHeight меньше 1
См. также:
  • getRowHeight()

getRowHeight

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

setRowHeight

@BeanProperty(description="The height in pixels of the cells in <code>row</code>") public void setRowHeight(int row, int rowHeight)
Устанавливает высоту row равной rowHeight, повторно проверяет компоновку и перерисовывает таблицу. Высота ячеек в этой строке будет равна высоте строки за вычетом поля строки.
Параметры:
row — строка, высота которой изменяется
rowHeight — новая высота строки в пикселях
Вызывает исключение:
IllegalArgumentException — если rowHeight меньше 1
Начиная с версии:
1.3

getRowHeight

public int getRowHeight(int row)
Возвращает высоту ячеек в row в пикселях.
Параметры:
row — строка, высоту которой нужно вернуть
Возвращает:
высоту ячеек в строке в пикселях
Начиная с версии:
1.3

setRowMargin

@BeanProperty(description="The amount of space between cells.") public void setRowMargin(int rowMargin)
Устанавливает размер пустого пространства между ячейками в соседних строках.
Параметры:
rowMargin — расстояние между ячейками строки в пикселях
См. также:
  • getRowMargin()

getRowMargin

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

setIntercellSpacing

@BeanProperty(bound=false, description="The spacing between the cells, drawn in the background color of the JTable.") public void setIntercellSpacing(Dimension intercellSpacing)
Устанавливает rowMargin и columnMargin — высоту и ширину пространства между ячейками — равными intercellSpacing.
Параметры:
intercellSpacing — Dimension, задающий новую ширину и высоту промежутков между ячейками
См. также:
  • getIntercellSpacing()

getIntercellSpacing

public Dimension getIntercellSpacing()
Возвращает горизонтальное и вертикальное расстояние между ячейками. Интервалы по умолчанию зависят от оформления.
Возвращает:
горизонтальное и вертикальное расстояние между ячейками
См. также:
  • setIntercellSpacing(Dimension)

setGridColor

@BeanProperty(description="The grid color.") public void setGridColor(Color gridColor)
Устанавливает gridColor в качестве цвета линий сетки и обновляет отображение. Цвет по умолчанию зависит от оформления.
Параметры:
gridColor — новый цвет линий сетки
Вызывает исключение:
IllegalArgumentException — если gridColor равен null
См. также:
  • getGridColor()

getGridColor

public Color getGridColor()
Возвращает цвет линий сетки. Цвет по умолчанию зависит от оформления.
Возвращает:
цвет линий сетки
См. также:
  • setGridColor(Color)

setShowGrid

@BeanProperty(description="The color used to draw the grid lines.") public void setShowGrid(boolean showGrid)
Устанавливает, отображает ли таблица линии сетки вокруг ячеек. Если showGrid имеет значение true, линии отображаются; если false — нет. Метод getShowGrid отсутствует, поскольку это состояние хранится в двух переменных — showHorizontalLines и showVerticalLines, — каждую из которых можно запросить отдельно.
Параметры:
showGrid — true, если представление таблицы должно отображать линии сетки
См. также:
  • setShowVerticalLines(boolean)
  • setShowHorizontalLines(boolean)

setShowHorizontalLines

@BeanProperty(description="Whether horizontal lines should be drawn in between the cells.") public void setShowHorizontalLines(boolean showHorizontalLines)
Устанавливает, отображает ли таблица горизонтальные линии между ячейками. Если showHorizontalLines имеет значение true, линии отображаются; если false — нет.
Параметры:
showHorizontalLines — true, если представление таблицы должно отображать горизонтальные линии
См. также:
  • getShowHorizontalLines()
  • setShowGrid(boolean)
  • setShowVerticalLines(boolean)

setShowVerticalLines

@BeanProperty(description="Whether vertical lines should be drawn in between the cells.") public void setShowVerticalLines(boolean showVerticalLines)
Устанавливает, отображает ли таблица вертикальные линии между ячейками. Если showVerticalLines имеет значение true, линии отображаются; если false — нет.
Параметры:
showVerticalLines — true, если представление таблицы должно отображать вертикальные линии
См. также:
  • getShowVerticalLines()
  • setShowGrid(boolean)
  • setShowHorizontalLines(boolean)

getShowHorizontalLines

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

getShowVerticalLines

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

setAutoResizeMode

@BeanProperty(enumerationValues={"JTable.AUTO_RESIZE_OFF","JTable.AUTO_RESIZE_NEXT_COLUMN","JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS","JTable.AUTO_RESIZE_LAST_COLUMN","JTable.AUTO_RESIZE_ALL_COLUMNS"}, description="Whether the columns should adjust themselves automatically.") public void setAutoResizeMode(int mode)
Устанавливает режим автоматического изменения размера таблицы при изменении ее размера. Описание работы различных режимов изменения размера см. в разделе doLayout().
Параметры:
mode — одно из 5 допустимых значений: AUTO_RESIZE_OFF, AUTO_RESIZE_NEXT_COLUMN, AUTO_RESIZE_SUBSEQUENT_COLUMNS, AUTO_RESIZE_LAST_COLUMN, AUTO_RESIZE_ALL_COLUMNS
См. также:
  • getAutoResizeMode()
  • doLayout()

getAutoResizeMode

public int getAutoResizeMode()
Возвращает режим автоматического изменения размера таблицы. По умолчанию используется режим AUTO_RESIZE_SUBSEQUENT_COLUMNS.
Возвращает:
режим autoResizeMode таблицы
См. также:
  • setAutoResizeMode(int)
  • doLayout()

setAutoCreateColumnsFromModel

@BeanProperty(description="Automatically populates the columnModel when a new TableModel is submitted.") public void setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)
Устанавливает флаг autoCreateColumnsFromModel этой таблицы. Если значение autoCreateColumnsFromModel изменяется с false на true, этот метод вызывает createDefaultColumnsFromModel.
Параметры:
autoCreateColumnsFromModel — true, если JTable должен автоматически создавать столбцы
См. также:
  • getAutoCreateColumnsFromModel()
  • createDefaultColumnsFromModel()

getAutoCreateColumnsFromModel

public boolean getAutoCreateColumnsFromModel()
Определяет, будет ли таблица создавать столбцы по умолчанию на основе модели. Если значение равно true, setModel удалит все существующие столбцы и создаст новые на основе новой модели. Кроме того, если событие в уведомлении tableChanged указывает, что изменилась вся таблица, столбцы будут созданы заново. По умолчанию используется значение true.
Возвращает:
значение autoCreateColumnsFromModel таблицы
См. также:
  • setAutoCreateColumnsFromModel(boolean)
  • createDefaultColumnsFromModel()

createDefaultColumnsFromModel

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

Перед созданием новых столбцов на основе сведений модели удаляет все существующие столбцы.

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

setDefaultRenderer

public void setDefaultRenderer(Class<?> columnClass, TableCellRenderer renderer)
Устанавливает средство отображения ячеек по умолчанию, которое будет использоваться, если в TableColumn не задано средство отображения. Если средство отображения равно null, удаляет средство отображения по умолчанию для этого класса столбца.
Параметры:
columnClass - установить средство отображения ячеек по умолчанию для этого columnClass
renderer - средство отображения ячеек по умолчанию для этого columnClass
См. также:
  • getDefaultRenderer(Class)
  • setDefaultEditor(Class, TableCellEditor)

getDefaultRenderer

public TableCellRenderer getDefaultRenderer(Class<?> columnClass)
Возвращает средство отображения ячеек, используемое, если в TableColumn не задано средство отображения. При отображении ячеек средство отображения извлекается из Hashtable записей в соответствии с классом ячеек в столбце. Если для этого columnClass нет записи, метод возвращает запись для наиболее конкретного суперкласса. JTable устанавливает записи для Object, Number и Boolean, которые можно изменить или заменить.
Параметры:
columnClass - вернуть средство отображения ячеек по умолчанию для этого columnClass
Возвращает:
средство отображения для этого columnClass
См. также:
  • setDefaultRenderer(Class, TableCellRenderer)
  • getColumnClass(int)

setDefaultEditor

public void setDefaultEditor(Class<?> columnClass, TableCellEditor editor)
Устанавливает редактор ячеек по умолчанию, который будет использоваться, если в TableColumn не задан редактор. Если редактирование таблицы или отдельного столбца таблицы не требуется, используйте метод isCellEditable интерфейса TableModel, чтобы гарантировать, что этот JTable не запустит редактор в этих столбцах. Если редактор равен null, удаляет редактор по умолчанию для этого класса столбца.
Параметры:
columnClass - установить редактор ячеек по умолчанию для этого columnClass
editor - редактор ячеек по умолчанию для этого columnClass
См. также:
  • TableModel.isCellEditable(int, int)
  • getDefaultEditor(Class)
  • setDefaultRenderer(Class, TableCellRenderer)

getDefaultEditor

public TableCellEditor getDefaultEditor(Class<?> columnClass)
Возвращает редактор, используемый, если в TableColumn не задан редактор. При редактировании ячеек редактор извлекается из Hashtable записей в соответствии с классом ячеек в столбце. Если для этого columnClass нет записи, метод возвращает запись для наиболее конкретного суперкласса. JTable устанавливает записи для Object, Number и Boolean, которые можно изменить или заменить.
Параметры:
columnClass - вернуть редактор ячеек по умолчанию для этого columnClass
Возвращает:
редактор ячеек по умолчанию для этого columnClass
См. также:
  • setDefaultEditor(Class, TableCellEditor)
  • getColumnClass(int)

setDragEnabled

@BeanProperty(bound=false, description="determines whether automatic drag handling is enabled") public void setDragEnabled(boolean b)
Включает или отключает автоматическую обработку перетаскивания. Чтобы включить автоматическую обработку перетаскивания, этому свойству следует задать значение true, а TransferHandler таблицы должен быть non-null. Значение свойства dragEnabled по умолчанию — false.

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

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

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

getDragEnabled

public boolean getDragEnabled()
Возвращает, включена ли автоматическая обработка перетаскивания.
Возвращает:
значение свойства dragEnabled
Начиная с:
1.4
См. также:
  • setDragEnabled(boolean)

setDropMode

public final void setDropMode(DropMode dropMode)
Задает режим сброса для этого компонента. Для обеспечения обратной совместимости значением этого свойства по умолчанию является DropMode.USE_SELECTION. Однако для улучшения взаимодействия с пользователем рекомендуется использовать один из других режимов. Например, DropMode.ON обеспечивает похожее поведение, показывая элементы как выделенные, но не меняет фактическое выделение в таблице.

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

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

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

Параметры:
dropMode - используемый режим сброса
Вызывает исключение:
IllegalArgumentException - если режим сброса не поддерживается или null
Начиная с:
1.6
См. также:
  • getDropMode()
  • getDropLocation()
  • JComponent.setTransferHandler(TransferHandler)
  • TransferHandler

getDropMode

public final DropMode getDropMode()
Возвращает режим сброса для этого компонента.
Возвращает:
режим сброса для этого компонента
Начиная с:
1.6
См. также:
  • setDropMode(DropMode)

getDropLocation

@BeanProperty(bound=false) public final JTable.DropLocation getDropLocation()
Возвращает местоположение, которое компонент должен визуально обозначать как место сброса во время операции DnD над компонентом, или null, если в данный момент местоположение не должно отображаться.

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

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

Возвращает:
местоположение сброса
Начиная с:
1.6
См. также:
  • setDropMode(DropMode)
  • TransferHandler.canImport(TransferHandler.TransferSupport)

setAutoCreateRowSorter

@BeanProperty(preferred=true, description="Whether or not to turn on sorting by default.") public void setAutoCreateRowSorter(boolean autoCreateRowSorter)
Указывает, следует ли создавать RowSorter для таблицы при каждом изменении ее модели.

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

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

getAutoCreateRowSorter

public boolean getAutoCreateRowSorter()
Возвращает true, если при каждом изменении модели следует создавать новый RowSorter и устанавливать его в качестве сортировщика таблицы; в противном случае возвращает false.
Возвращает:
true, если при изменении модели следует создавать RowSorter
Начиная с:
1.6

setUpdateSelectionOnSort

@BeanProperty(expert=true, description="Whether or not to update the selection on sorting") public void setUpdateSelectionOnSort(boolean update)
Указывает, следует ли обновлять выделение после сортировки. Если значение равно true, при сортировке выделение сбрасывается таким образом, чтобы оставались выделенными те же строки с точки зрения модели. Значение по умолчанию — true.
Параметры:
update - обновлять ли выделение при сортировке
Начиная с:
1.6

getUpdateSelectionOnSort

public boolean getUpdateSelectionOnSort()
Возвращает true, если после сортировки следует обновить выделение.
Возвращает:
следует ли обновлять выделение при сортировке
Начиная с:
1.6

setRowSorter

@BeanProperty(description="The table's RowSorter") public void setRowSorter(RowSorter<? extends TableModel> sorter)
Устанавливает RowSorter. RowSorter используется для сортировки и фильтрации JTable.

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

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

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

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

getRowSorter

public RowSorter<? extends TableModel> getRowSorter()
Возвращает объект, отвечающий за сортировку.
Возвращает:
объект, отвечающий за сортировку
Начиная с:
1.6

setSelectionMode

@BeanProperty(enumerationValues={"ListSelectionModel.SINGLE_SELECTION","ListSelectionModel.SINGLE_INTERVAL_SELECTION","ListSelectionModel.MULTIPLE_INTERVAL_SELECTION"}, description="The selection mode used by the row and column selection models.") public void setSelectionMode(int selectionMode)
Задает режим выделения таблицы: только один элемент, один непрерывный интервал или несколько интервалов.

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

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

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

setRowSelectionAllowed

@BeanProperty(visualUpdate=true, description="If true, an entire row is selected for each selected cell.") public void setRowSelectionAllowed(boolean rowSelectionAllowed)
Задает, можно ли выделять строки в этой модели.
Параметры:
rowSelectionAllowed - true, если эта модель допускает выделение строк
См. также:
  • getRowSelectionAllowed()

getRowSelectionAllowed

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

setColumnSelectionAllowed

@BeanProperty(visualUpdate=true, description="If true, an entire column is selected for each selected cell.") public void setColumnSelectionAllowed(boolean columnSelectionAllowed)
Задает, можно ли выделять столбцы в этой модели.
Параметры:
columnSelectionAllowed - true, если эта модель допускает выделение столбцов
См. также:
  • getColumnSelectionAllowed()

getColumnSelectionAllowed

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

setCellSelectionEnabled

@BeanProperty(visualUpdate=true, description="Select a rectangular region of cells rather than rows or columns.") public void setCellSelectionEnabled(boolean cellSelectionEnabled)
Задает, допускает ли эта таблица одновременное выделение столбца и строки. В этом случае таблица считает выбранными ячейки на пересечении моделей выделения строк и столбцов. Переопределите isCellSelected, чтобы изменить такое поведение по умолчанию. Этот метод эквивалентен установке для свойств rowSelectionAllowed и columnSelectionAllowed объекта columnModel переданного значения.
Параметры:
cellSelectionEnabled - true, если разрешено одновременное выделение строк и столбцов
См. также:
  • getCellSelectionEnabled()
  • isCellSelected(int, int)

getCellSelectionEnabled

public boolean getCellSelectionEnabled()
Возвращает true, если включены обе модели выделения строк и столбцов. Эквивалентно getRowSelectionAllowed() && getColumnSelectionAllowed().
Возвращает:
true, если включены обе модели выделения строк и столбцов
См. также:
  • setCellSelectionEnabled(boolean)

selectAll

public void selectAll()
Выделяет все строки, столбцы и ячейки таблицы.

clearSelection

public void clearSelection()
Снимает выделение со всех выбранных столбцов и строк.

setRowSelectionInterval

public void setRowSelectionInterval(int index0, int index1)
Выделяет строки от index0 до index1 включительно.
Параметры:
index0 - один конец интервала
index1 - другой конец интервала
Вызывает исключение:
IllegalArgumentException - если index0 или index1 находится вне диапазона [0, getRowCount()-1]

setColumnSelectionInterval

public void setColumnSelectionInterval(int index0, int index1)
Выделяет столбцы от index0 до index1 включительно.
Параметры:
index0 - один конец интервала
index1 - другой конец интервала
Вызывает исключение:
IllegalArgumentException - если index0 или index1 находится вне диапазона [0, getColumnCount()-1]

addRowSelectionInterval

public void addRowSelectionInterval(int index0, int index1)
Добавляет к текущему выделению строки от index0 до index1 включительно.
Параметры:
index0 - один конец интервала
index1 - другой конец интервала
Вызывает исключение:
IllegalArgumentException - если index0 или index1 находится вне диапазона [0, getRowCount()-1]

addColumnSelectionInterval

public void addColumnSelectionInterval(int index0, int index1)
Добавляет к текущему выделению столбцы от index0 до index1 включительно.
Параметры:
index0 - один конец интервала
index1 - другой конец интервала
Вызывает исключение:
IllegalArgumentException - если index0 или index1 находится вне диапазона [0, getColumnCount()-1]

removeRowSelectionInterval

public void removeRowSelectionInterval(int index0, int index1)
Снимает выделение со строк от index0 до index1 включительно.
Параметры:
index0 - один конец интервала
index1 - другой конец интервала
Вызывает исключение:
IllegalArgumentException - если index0 или index1 находится вне диапазона [0, getRowCount()-1]

removeColumnSelectionInterval

public void removeColumnSelectionInterval(int index0, int index1)
Снимает выделение со столбцов от index0 до index1 включительно.
Параметры:
index0 - один конец интервала
index1 - другой конец интервала
Вызывает исключение:
IllegalArgumentException - если index0 или index1 находится вне диапазона [0, getColumnCount()-1]

getSelectedRow

@BeanProperty(bound=false) public int getSelectedRow()
Возвращает индекс первой выделенной строки или -1, если ни одна строка не выделена.
Возвращает:
индекс первой выделенной строки

getSelectedColumn

@BeanProperty(bound=false) public int getSelectedColumn()
Возвращает индекс первого выделенного столбца или -1, если ни один столбец не выделен.
Возвращает:
индекс первого выделенного столбца

getSelectedRows

@BeanProperty(bound=false) public int[] getSelectedRows()
Возвращает индексы всех выделенных строк.
Возвращает:
массив целых чисел, содержащий индексы всех выделенных строк, или пустой массив, если ни одна строка не выделена
См. также:
  • getSelectedRow()

getSelectedColumns

@BeanProperty(bound=false) public int[] getSelectedColumns()
Возвращает индексы всех выделенных столбцов.
Возвращает:
массив целых чисел, содержащий индексы всех выделенных столбцов, или пустой массив, если ни один столбец не выделен
См. также:
  • getSelectedColumn()

getSelectedRowCount

@BeanProperty(bound=false) public int getSelectedRowCount()
Возвращает количество выделенных строк.
Возвращает:
количество выделенных строк; 0, если строки не выделены

getSelectedColumnCount

@BeanProperty(bound=false) public int getSelectedColumnCount()
Возвращает количество выделенных столбцов.
Возвращает:
количество выделенных столбцов; 0, если столбцы не выделены

isRowSelected

public boolean isRowSelected(int row)
Возвращает true, если указанный индекс входит в допустимый диапазон строк и строка с этим индексом выделена.
Параметры:
row - строка в модели строк
Возвращает:
true, если row является допустимым индексом и строка с этим индексом выделена (0 — индекс первой строки)

isColumnSelected

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

isCellSelected

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

changeSelection

public void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend)
Обновляет модели выделения таблицы в зависимости от состояния двух флагов: toggle и extend. Большинство изменений выделения, вызванных событиями клавиатуры или мыши, полученными пользовательским интерфейсом, проходит через этот метод, чтобы подкласс мог переопределить поведение. Некоторым пользовательским интерфейсам могут потребоваться дополнительные возможности, отсутствующие в этом методе, например управление ведущим элементом при несмежном выделении; в таких случаях этот метод может не вызываться для некоторых изменений выделения.

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

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

getSelectionForeground

public Color getSelectionForeground()
Возвращает цвет переднего плана для выделенных ячеек.
Возвращает:
объект Color для свойства цвета переднего плана
См. также:
  • setSelectionForeground(Color)
  • setSelectionBackground(Color)

setSelectionForeground

@BeanProperty(description="A default foreground color for selected cells.") public void setSelectionForeground(Color selectionForeground)
Задает цвет переднего плана для выделенных ячеек. Средства отображения ячеек могут использовать этот цвет для отображения текста и графики в выделенных ячейках.

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

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

Параметры:
selectionForeground - объект Color, используемый в качестве цвета переднего плана для выделенных элементов списка
См. также:
  • getSelectionForeground()
  • setSelectionBackground(Color)
  • JComponent.setForeground(Color)
  • JComponent.setBackground(Color)
  • JComponent.setFont(Font)

getSelectionBackground

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

setSelectionBackground

@BeanProperty(description="A default background color for selected cells.") public void setSelectionBackground(Color selectionBackground)
Задаёт цвет фона выделенных ячеек. Средства отображения ячеек могут использовать этот цвет для заливки выделенных ячеек.

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

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

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

getColumn

public TableColumn getColumn(Object identifier)
Возвращает объект TableColumn для столбца таблицы, идентификатор которого равен identifier при сравнении с помощью equals.
Параметры:
identifier — объект идентификатора
Возвращает:
объект TableColumn, соответствующий идентификатору
Вызывает исключение:
IllegalArgumentException — если identifier равен null или ни один TableColumn не имеет такого идентификатора

convertColumnIndexToModel

public int convertColumnIndexToModel(int viewColumnIndex)
Преобразует индекс столбца в представлении, заданный viewColumnIndex, в индекс столбца модели таблицы. Возвращает индекс соответствующего столбца в модели. Если viewColumnIndex меньше нуля, возвращает viewColumnIndex.
Параметры:
viewColumnIndex — индекс столбца в представлении
Возвращает:
индекс соответствующего столбца в модели
См. также:
  • convertColumnIndexToView(int)

convertColumnIndexToView

public int convertColumnIndexToView(int modelColumnIndex)
Преобразует индекс столбца в модели таблицы, заданный modelColumnIndex, в индекс столбца в представлении. Возвращает индекс соответствующего столбца в представлении; возвращает -1, если этот столбец не отображается. Если modelColumnIndex меньше нуля, возвращает modelColumnIndex.
Параметры:
modelColumnIndex — индекс столбца в модели
Возвращает:
индекс соответствующего столбца в представлении
См. также:
  • convertColumnIndexToModel(int)

convertRowIndexToView

public int convertRowIndexToView(int modelRowIndex)
Преобразует индекс строки в TableModel в индекс строки в представлении. Если содержимое модели не отсортировано, индексы модели и представления совпадают.
Параметры:
modelRowIndex — индекс строки в модели
Возвращает:
индекс соответствующей строки в представлении или -1, если строка не видна
Вызывает исключение:
IndexOutOfBoundsException — если сортировка включена и передан индекс за пределами количества строк в TableModel
Начиная с версии:
1.6
См. также:
  • TableRowSorter

convertRowIndexToModel

public int convertRowIndexToModel(int viewRowIndex)
Преобразует индекс строки в представлении в индекс соответствующей строки в TableModel. Если содержимое модели не отсортировано, индексы модели и представления совпадают.
Параметры:
viewRowIndex — индекс строки в представлении
Возвращает:
индекс соответствующей строки в модели
Вызывает исключение:
IndexOutOfBoundsException — если сортировка включена и передан индекс за пределами диапазона JTable, определяемого методом getRowCount
Начиная с версии:
1.6
См. также:
  • TableRowSorter
  • getRowCount()

getRowCount

@BeanProperty(bound=false) public int getRowCount()
Возвращает количество строк, которые могут отображаться в JTable при неограниченном пространстве. Если задан RowSorter с фильтром, количество возвращаемых строк может отличаться от количества строк в базовой TableModel.
Возвращает:
количество строк, отображаемых в JTable
См. также:
  • getColumnCount()

getColumnCount

@BeanProperty(bound=false) public int getColumnCount()
Возвращает количество столбцов в модели столбцов. Обратите внимание, что оно может отличаться от количества столбцов в модели таблицы.
Возвращает:
количество столбцов в таблице
См. также:
  • getRowCount()
  • removeColumn(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(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(TableColumn)

removeColumn

public void removeColumn(TableColumn aColumn)
Удаляет aColumn из массива столбцов этого JTable. Примечание: этот метод не удаляет столбец данных из модели; он лишь удаляет TableColumn, отвечавший за его отображение.
Параметры:
aColumn — удаляемый TableColumn
См. также:
  • addColumn(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(Point)

rowAtPoint

public int rowAtPoint(Point point)
Возвращает индекс строки, в которую попадает point, или -1, если результат не входит в диапазон [0, getRowCount()-1].
Параметры:
point — интересующая позиция
Возвращает:
индекс строки, в которую попадает point, или -1, если результат не входит в диапазон [0, getRowCount()-1]
См. также:
  • columnAtPoint(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 — закрытый интерфейс, позволяющий алгоритму изменять элементы любой структуры данных, содержащей набор элементов с размером, предпочтительным размером, максимальным и минимальным размерами.

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

Обзор

Назовём «DELTA» разницу между целевым размером и суммой предпочтительных размеров элементов в r. Индивидуальные размеры вычисляются путём прибавления доли DELTA к исходным предпочтительным размерам; эта доля зависит от того, насколько каждый предпочтительный размер удалён от соответствующей предельной границы (минимальной или максимальной).

Определение

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

Обозначим их суммы соответственно как MIN, MAX и PREF.

Новый размер каждого элемента вычисляется по формуле:

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

Если (DELTA < 0), выполняется уменьшение размера:

                       DELTA
         delta[i] = ------------ * (pref[i] - min[i])
                    (PREF - MIN)
Если (DELTA > 0), выполняется увеличение размера:
                       DELTA
         delta[i] = ------------ * (max[i] - pref[i])
                     (MAX - PREF)

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

Подробности

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

Достижение границ MAX и MIN

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

Переопределено:
doLayout в классе Container
См. также:
  • LayoutManager.layoutContainer(Container)
  • Container.setLayout(LayoutManager)
  • Container.validate()

sizeColumnsToFit

@Deprecated public void sizeColumnsToFit(boolean lastColumnOnly)
Устарел.
Начиная с версии Swing 1.0.3 заменён методом doLayout().
Подгоняет размеры столбцов таблицы под доступное пространство.
Параметры:
lastColumnOnly — определяет, следует ли изменять размер только последнего столбца
См. также:
  • doLayout()

sizeColumnsToFit

public void sizeColumnsToFit(int resizingColumn)
Устарел начиная с Java 2 platform v1.4. Вместо него используйте метод doLayout().
Параметры:
resizingColumn — столбец, изменение размера которого потребовало этой корректировки, или -1, если такого столбца нет
См. также:
  • doLayout()

getToolTipText

public String getToolTipText(MouseEvent event)
Переопределяет метод getToolTipText класса JComponent, чтобы можно было использовать подсказки средства отображения, если для него задан текст.

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

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

setSurrendersFocusOnKeystroke

public void setSurrendersFocusOnKeystroke(boolean surrendersFocusOnKeystroke)
Задаёт, получает ли редактор в этой JTable фокус клавиатуры, когда он активируется в результате передачи JTable событий клавиатуры для ячейки. По умолчанию это свойство имеет значение false, и JTable сохраняет фокус, если только пользователь не щёлкнет ячейку.
Параметры:
surrendersFocusOnKeystroke — true, если редактор должен получить фокус при активации нажатием клавиш
Начиная с версии:
1.4
См. также:
  • getSurrendersFocusOnKeystroke()

getSurrendersFocusOnKeystroke

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

editCellAt

public boolean editCellAt(int row, int column)
Программно начинает редактирование ячейки в строке row и столбце column, если эти индексы находятся в допустимом диапазоне и ячейка по указанным индексам доступна для редактирования. Обратите внимание, что это вспомогательный метод для editCellAt(int, int, null).
Параметры:
row — редактируемая строка
column — редактируемый столбец
Возвращает:
false, если по какой-либо причине ячейку нельзя редактировать или индексы недопустимы

editCellAt

public boolean editCellAt(int row, int column, EventObject e)
Программно начинает редактирование ячейки в строке row и столбце column, если эти индексы находятся в допустимом диапазоне и ячейка по указанным индексам доступна для редактирования. Чтобы запретить JTable редактировать определённую таблицу, столбец или значение ячейки, верните false из метода isCellEditable интерфейса TableModel.
Параметры:
row — редактируемая строка
column — редактируемый столбец
e — событие, передаваемое в shouldSelectCell; обратите внимание, что начиная с Java 2 platform v1.2 вызов shouldSelectCell больше не выполняется
Возвращает:
false, если по какой-либо причине ячейку нельзя редактировать или индексы недопустимы

isEditing

@BeanProperty(bound=false) public boolean isEditing()
Возвращает true, если редактируется ячейка.
Возвращает:
true, если таблица редактирует ячейку
См. также:
  • editingColumn
  • editingRow

getEditorComponent

@BeanProperty(bound=false) public Component getEditorComponent()
Возвращает компонент, обрабатывающий сеанс редактирования. Если ничего не редактируется, возвращает null.
Возвращает:
компонент, обрабатывающий сеанс редактирования

getEditingColumn

public int getEditingColumn()
Возвращает индекс столбца, содержащего редактируемую в данный момент ячейку. Если ничего не редактируется, возвращает -1.
Возвращает:
индекс столбца, содержащего редактируемую в данный момент ячейку; возвращает -1, если редактирование не выполняется
См. также:
  • editingRow

getEditingRow

public int getEditingRow()
Возвращает индекс строки, содержащей ячейку, которая в данный момент редактируется. Если редактирование не выполняется, возвращает -1.
Возвращает:
индекс строки, содержащей ячейку, которая в данный момент редактируется; возвращает -1, если редактирование не выполняется
См. также:
  • editingColumn

getUI

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

setUI

@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component's LookAndFeel.") public void setUI(TableUI ui)
Устанавливает объект L&F, который отображает этот компонент, и перерисовывает его.
Параметры:
ui — объект L&F TableUI
См. также:
  • UIDefaults.getUI(JComponent)

updateUI

public void updateUI()
Уведомление от UIManager об изменении L&F. Заменяет текущий объект UI последней версией из UIManager.
Переопределяет:
updateUI в классе JComponent
См. также:
  • JComponent.updateUI()

getUIClassID

@BeanProperty(bound=false) public String getUIClassID()
Возвращает суффикс, используемый для формирования имени класса L&F, применяемого для отображения этого компонента.
Переопределяет:
getUIClassID в классе JComponent
Возвращает:
строку "TableUI"
См. также:
  • JComponent.getUIClassID()
  • UIDefaults.getUI(JComponent)

setModel

@BeanProperty(description="The model that is the source of the data for this view.") public void setModel(TableModel dataModel)
Устанавливает для этой таблицы модель данных dataModel и регистрирует ее для получения уведомлений от новой модели данных.
Параметры:
dataModel — новый источник данных для этой таблицы
Выбрасывает:
IllegalArgumentException — если dataModel равно null
См. также:
  • getModel()

getModel

public TableModel getModel()
Возвращает TableModel, предоставляющую данные, отображаемые этой JTable.
Возвращает:
TableModel, предоставляющую данные, отображаемые этой JTable
См. также:
  • setModel(TableModel)

setColumnModel

@BeanProperty(description="The object governing the way columns appear in the view.") public void setColumnModel(TableColumnModel columnModel)
Устанавливает для этой таблицы модель столбцов columnModel и регистрирует ее для получения уведомлений от новой модели столбцов. Также устанавливает модель столбцов для JTableHeader равной columnModel.
Параметры:
columnModel — новый источник данных для этой таблицы
Выбрасывает:
IllegalArgumentException — если columnModel равно null
См. также:
  • getColumnModel()

getColumnModel

public TableColumnModel getColumnModel()
Возвращает TableColumnModel, содержащую все сведения о столбцах этой таблицы.
Возвращает:
объект, предоставляющий состояние столбцов таблицы
См. также:
  • setColumnModel(TableColumnModel)

setSelectionModel

@BeanProperty(description="The selection model for rows.") public void setSelectionModel(ListSelectionModel selectionModel)
Устанавливает для этой таблицы модель выбора строк selectionModel и регистрирует ее для получения уведомлений от новой модели выбора.
Параметры:
selectionModel — новая модель выбора
Выбрасывает:
IllegalArgumentException — если selectionModel равно null
См. также:
  • getSelectionModel()

getSelectionModel

public ListSelectionModel getSelectionModel()
Возвращает ListSelectionModel, используемую для хранения состояния выбора строк.
Возвращает:
объект, предоставляющий состояние выбора строк; null, если выбор строк запрещен
См. также:
  • setSelectionModel(ListSelectionModel)

sorterChanged

public void sorterChanged(RowSorterEvent e)
RowSorterListener — уведомление об изменении RowSorter.
Указано в:
sorterChanged в интерфейсе RowSorterListener
Параметры:
e — RowSorterEvent, описывающее изменение
Выбрасывает:
NullPointerException — если e равно null
С версии:
1.6

tableChanged

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

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

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

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

columnAdded

public void columnAdded(TableColumnModelEvent e)
Вызывается при добавлении столбца в модель столбцов таблицы.

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

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

columnRemoved

public void columnRemoved(TableColumnModelEvent e)
Вызывается при удалении столбца из модели столбцов таблицы.

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

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

columnMoved

public void columnMoved(TableColumnModelEvent e)
Вызывается при перемещении столбца. Если ячейка редактируется, редактирование прекращается, и ячейка перерисовывается.

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

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

columnMarginChanged

public void columnMarginChanged(ChangeEvent e)
Вызывается при перемещении столбца вследствие изменения поля. Если ячейка редактируется, редактирование прекращается, и ячейка перерисовывается.

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

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

columnSelectionChanged

public void columnSelectionChanged(ListSelectionEvent e)
Вызывается при изменении модели выбора для TableColumnModel.

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

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

valueChanged

public void valueChanged(ListSelectionEvent e)
Вызывается при изменении выбора строк — перерисовывает таблицу, чтобы отобразить новый выбор.

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

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

editingStopped

public void editingStopped(ChangeEvent e)
Вызывается по завершении редактирования. Изменения сохраняются, а редактор удаляется.

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

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

editingCanceled

public void editingCanceled(ChangeEvent e)
Вызывается при отмене редактирования. Объект редактора удаляется, а ячейка снова отображается.

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

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

setPreferredScrollableViewportSize

@BeanProperty(bound=false, description="The preferred size of the viewport.") public void setPreferredScrollableViewportSize(Dimension size)
Устанавливает предпочтительный размер области просмотра для этой таблицы.
Параметры:
size — объект Dimension, задающий preferredSize для JViewport, представлением которого является эта таблица
См. также:
  • Scrollable.getPreferredScrollableViewportSize()

getPreferredScrollableViewportSize

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

getScrollableUnitIncrement

public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
Возвращает приращение прокрутки (в пикселях), при котором полностью отображается одна новая строка или столбец (в зависимости от ориентации).

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

Указано в:
getScrollableUnitIncrement в интерфейсе Scrollable
Параметры:
visibleRect — видимая в области просмотра область представления
orientation — SwingConstants.VERTICAL или SwingConstants.HORIZONTAL
direction — значение меньше нуля для прокрутки вверх/влево, больше нуля — вниз/вправо
Возвращает:
приращение «единицы» прокрутки в указанном направлении
См. также:
  • Scrollable.getScrollableUnitIncrement(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(Rectangle, int, int)

getScrollableTracksViewportWidth

@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
Возвращает false, если autoResizeMode установлено в AUTO_RESIZE_OFF, что означает, что ширина области просмотра не определяет ширину таблицы. В противном случае возвращает true.
Указано в:
getScrollableTracksViewportWidth в интерфейсе Scrollable
Возвращает:
false, если autoResizeMode установлено в AUTO_RESIZE_OFF; в противном случае возвращает true
См. также:
  • Scrollable.getScrollableTracksViewportWidth()

getScrollableTracksViewportHeight

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

setFillsViewportHeight

@BeanProperty(description="Whether or not this table is always made large enough to fill the height of an enclosing viewport") public void setFillsViewportHeight(boolean fillsViewportHeight)
Задает, должна ли эта таблица всегда увеличиваться настолько, чтобы заполнить высоту внешней области просмотра. Если предпочтительная высота таблицы меньше высоты области просмотра, таблица растягивается, чтобы заполнить ее. Иными словами, таблица никогда не будет меньше области просмотра. По умолчанию для этого свойства установлено значение false.
Параметры:
fillsViewportHeight — указывает, должна ли эта таблица всегда увеличиваться настолько, чтобы заполнить высоту внешней области просмотра
С версии:
1.6
См. также:
  • getFillsViewportHeight()
  • getScrollableTracksViewportHeight()

getFillsViewportHeight

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

createDefaultRenderers

protected void createDefaultRenderers()
Создает средства отображения ячеек по умолчанию для объектов, чисел, значений типа double, дат, логических значений и значков.
См. также:
  • 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

@BeanProperty(description="The table's active cell editor.") public void setCellEditor(TableCellEditor anEditor)
Устанавливает активный редактор ячейки.
Параметры:
anEditor — активный редактор ячейки
См. также:
  • cellEditor

setEditingColumn

public void setEditingColumn(int aColumn)
Устанавливает переменную editingColumn.
Параметры:
aColumn — столбец ячейки, которую нужно отредактировать
См. также:
  • editingColumn

setEditingRow

public void setEditingRow(int aRow)
Устанавливает переменную editingRow.
Параметры:
aRow — строка ячейки, которую нужно отредактировать
См. также:
  • editingRow

getCellRenderer

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

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

Параметры:
row — строка ячейки для отображения, где 0 — первая строка
column — столбец ячейки для отображения, где 0 — первый столбец
Возвращает:
назначенное средство отображения; если null, возвращает средство отображения по умолчанию для этого типа объекта
См. также:
  • DefaultTableCellRenderer
  • TableColumn.setCellRenderer(TableCellRenderer)
  • setDefaultRenderer(Class, 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 этого столбца есть ненулевой редактор, возвращается он. В противном случае определяется класс данных в этом столбце (с помощью 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, если пользователь не отменил печать
Вызывает исключение:
PrinterException — если ошибка в системе печати приводит к прерыванию задания
Начиная с версии:
1.5
См. также:
  • print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean, PrintService)
  • getPrintable(JTable.PrintMode, MessageFormat, MessageFormat)

print

public boolean print(JTable.PrintMode printMode) throws PrinterException
Вспомогательный метод, который отображает диалоговое окно печати, а затем печатает этот JTable в указанном режиме печати без текста верхнего и нижнего колонтитулов. На время печати отображается модальное диалоговое окно с индикатором выполнения и возможностью отмены.

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

Параметры:
printMode — режим печати, который должен использовать печатаемый объект
Возвращает:
true, если пользователь не отменил печать
Вызывает исключение:
PrinterException — если ошибка в системе печати приводит к прерыванию задания
Начиная с версии:
1.5
См. также:
  • print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean, PrintService)
  • getPrintable(JTable.PrintMode, MessageFormat, MessageFormat)

print

public boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat) throws PrinterException
Вспомогательный метод, который отображает диалоговое окно печати, а затем печатает этот JTable в указанном режиме печати с заданным текстом верхнего и нижнего колонтитулов. На время печати отображается модальное диалоговое окно с индикатором выполнения и возможностью отмены.

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

Параметры:
printMode — режим печати, который должен использовать печатаемый объект
headerFormat — MessageFormat, задающий текст верхнего колонтитула при печати, или null, если колонтитул не нужен
footerFormat — MessageFormat, задающий текст нижнего колонтитула при печати, или null, если колонтитул не нужен
Возвращает:
true, если пользователь не отменил печать
Вызывает исключение:
PrinterException — если ошибка в системе печати приводит к прерыванию задания
Начиная с версии:
1.5
См. также:
  • print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean, PrintService)
  • getPrintable(JTable.PrintMode, MessageFormat, 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
PrinterException — если ошибка в системе печати приводит к прерыванию задания
Начиная с версии:
1.5
См. также:
  • print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean, PrintService)
  • getPrintable(JTable.PrintMode, MessageFormat, 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(JTable.PrintMode, MessageFormat, MessageFormat).

Параметры:
printMode — режим печати, который должен использовать печатаемый объект
headerFormat — MessageFormat, задающий текст верхнего колонтитула при печати, или null, если колонтитул не нужен
footerFormat — MessageFormat, задающий текст нижнего колонтитула при печати, или null, если колонтитул не нужен
showPrintDialog — следует ли отображать диалоговое окно печати
attr — PrintRequestAttributeSet, задающий атрибуты печати, или null, если атрибуты не нужны
interactive — следует ли выполнять печать в интерактивном режиме
service — целевая PrintService или null для использования принтера по умолчанию
Возвращает:
true, если пользователь не отменил печать
Вызывает исключение:
HeadlessException — если метод должен отобразить диалоговое окно печати или выполнить печать в интерактивном режиме, а GraphicsEnvironment.isHeadless возвращает true
PrinterException — если ошибка в системе печати приводит к прерыванию задания
Начиная с версии:
1.6
См. также:
  • getPrintable(JTable.PrintMode, MessageFormat, MessageFormat)
  • GraphicsEnvironment.isHeadless()

getPrintable

public Printable getPrintable(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat)
Возвращает Printable для печати этой JTable.

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

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

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

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

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

Ниже приведён пример создания MessageFormat, которое можно использовать для печати строки «Таблица Duke: Страница — » и номера текущей страницы:

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

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

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

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

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

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

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

getAccessibleContext

@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
Возвращает AccessibleContext, связанный с этой JTable. Для таблиц AccessibleContext имеет вид AccessibleJTable. При необходимости создаётся новый экземпляр AccessibleJTable.
Указан в:
getAccessibleContext в интерфейсе Accessible
Переопределяет:
getAccessibleContext в классе Component
Возвращает:
AccessibleJTable, который служит AccessibleContext этой JTable

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

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