Spec-Zone.ru › OpenJDK 17

Класс 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(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat) для более сложных потребностей печати.

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

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

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

С момента:
1.2
См. также:
  • DefaultTableModel
  • TableRowSorter
END_OF_DOCUMENT_MARKER

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

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

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

JComponent.AccessibleJComponent

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

Container.AccessibleAWTContainer

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

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

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

Модификатор и тип Поле Описание
static 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
Таблица будет запрашивать TableModel для построения набора столбцов по умолчанию, если это значение true.
protected int autoResizeMode
Определяет, автоматически ли таблица изменяет ширину столбцов, чтобы они занимали всю ширину таблицы, и как выполняется изменение размера.
protected TableCellEditor cellEditor
Объект активного редактора ячейки, который перезаписывает экранное пространство, занятое текущей ячейкой, и позволяет пользователю изменять его содержимое.
protected boolean cellSelectionEnabled
Устарело начиная с Java 2 платформы v1.3.
protected TableColumnModel columnModel
Количество столбцов таблицы.
protected TableModel dataModel
Количество строк таблицы.
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
Количество выбранных строк таблицы, используемый для отслеживания выбора строк.
protected boolean showHorizontalLines
Таблица рисует горизонтальные линии между ячейками, если showHorizontalLines true.
protected boolean showVerticalLines
Таблица рисует вертикальные линии между ячейками, если showVerticalLines true.
protected JTableHeader tableHeader
Объект TableHeader, работающий с таблицей.

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

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

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

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

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

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

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

Конструктор Описание
JTable()
Создает стандартную JTable, которая инициализирована с моделью данных по умолчанию, моделью столбцов по умолчанию и моделью выбора по умолчанию.
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, в том числе установив модель столбцов таблицы как 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()
Возвращает расположение, которое этот компонент должен визуально указать как место расположения выгрузки во время операции перетаскивания над компонентом, или null, если никакое расположение в настоящее время не должно отображаться.
final DropMode getDropMode()
Возвращает режим выгрузки для этого компонента.
int getEditingColumn()
Возвращает индекс столбца, содержащего ячейку, которая в настоящее время редактируется.
int getEditingRow()
Возвращает индекс строки, содержащей ячейку, которая в настоящее время редактируется.
Component getEditorComponent()
Возвращает компонент, обрабатывающий сеанс редактирования.
boolean getFillsViewportHeight()
Возвращает, всегда ли эта таблица делает достаточно большой размер, чтобы заполнить высоту содержащего её viewport.
Color getGridColor()
Возвращает цвет, используемый для рисования линий сетки.
Dimension getIntercellSpacing()
Возвращает горизонтальное и вертикальное пространство между ячейками.
TableModel getModel()
Возвращает TableModel, который предоставляет данные, отображаемые этой JTable.
Dimension getPreferredScrollableViewportSize()
Возвращает предпочтительный размер viewport для этой таблицы.
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, чтобы указать, что высота viewport не определяет высоту таблицы, если getFillsViewportHeight равна true и предпочтительная высота таблицы меньше высоты viewport.
boolean getScrollableTracksViewportWidth()
Возвращает false, если autoResizeMode установлено в AUTO_RESIZE_OFF, что указывает, что ширина viewport не определяет ширину таблицы.
int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
Возвращает шаг прокрутки (в пикселях), который полностью раскрывает новую строку или столбец (в зависимости от ориентации).
int getSelectedColumn()
Возвращает индекс первого выбранного столбца, -1, если столбец не выбран.
int getSelectedColumnCount()
Возвращает количество выбранных столбцов.
int[] getSelectedColumns()
Возвращает индексы всех выбранных столбцов.
int getSelectedRow()
Возвращает индекс первой выбранной строки, -1, если строка не выбрана.
int getSelectedRowCount()
Возвращает количество выбранных строк.
int[] getSelectedRows()
Возвращает индексы всех выбранных строк.
Color getSelectionBackground()
Возвращает цвет фона для выделенных ячеек.
Color getSelectionForeground()
Возвращает цвет переднего плана для выделенных ячеек.
ListSelectionModel getSelectionModel()
Возвращает ListSelectionModel, который используется для сохранения состояния выбора строк.
boolean getShowHorizontalLines()
Возвращает true, если таблица рисует горизонтальные линии между ячейками, false — если нет.
boolean getShowVerticalLines()
Возвращает true, если таблица рисует вертикальные линии между ячейками, false — если нет.
boolean getSurrendersFocusOnKeystroke()
Возвращает true, если редактору нужно получить фокус, когда нажатие клавиш вызывает активацию редактора.
JTableHeader getTableHeader()
Возвращает tableHeader, используемый этой JTable.
String getToolTipText(MouseEvent event)
Переопределяет метод JComponent getToolTipText для того, чтобы позволить использовать подсказки рендерера, если в нём установлен текст.
TableUI getUI()
Возвращает объект L&F, который отображает этот компонент.
String getUIClassID()
Возвращает суффикс, используемый для построения имени класса L&F, используемого для отображения этого компонента.
boolean getUpdateSelectionOnSort()
Возвращает true, если выбор должен быть обновлен после сортировки.
Object getValueAt(int row, int column)
Возвращает значение ячейки в row и column.
protected void initializeLocalVars()
Инициализирует свойства таблицы их значениями по умолчанию.
boolean isCellEditable(int row, int column)
Возвращает true, если ячейка в row и column редактируема.
boolean isCellSelected(int row, int column)
Возвращает true, если указанные индексы находятся в допустимом диапазоне строк и столбцов, и ячейка в указанной позиции выбрана.
boolean isColumnSelected(int column)
Возвращает true, если указанный индекс находится в допустимом диапазоне столбцов, и столбец в этом индексе выбран.
boolean isEditing()
Возвращает true, если ячейка редактируется.
boolean isRowSelected(int row)
Возвращает true, если указанный индекс находится в допустимом диапазоне строк, и строка в этом индексе выбрана.
void moveColumn(int column, int targetColumn)
Перемещает столбец column в позицию, которую сейчас занимает столбец targetColumn в представлении.
protected String paramString()
Возвращает строковое представление этой таблицы.
Component prepareEditor(TableCellEditor editor, int row, int column)
Подготавливает редактор, запросив у модели данных значение и состояние выбора ячейки в row, column.
Component prepareRenderer(TableCellRenderer renderer, int row, int column)
Подготавливает рендерер, запросив у модели данных значение и состояние выбора ячейки в row, column.
boolean print()
Удобный метод, который отображает диалоговое окно печати, а затем печатает эту JTable в режиме PrintMode.FIT_WIDTH, без заголовка или подвала текста.
boolean print(JTable.PrintMode printMode)
Удобный метод, который отображает диалоговое окно печати, а затем печатает эту JTable в заданном режиме печати, без заголовка или подвала текста.
boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat)
Удобный метод, который отображает диалоговое окно печати, а затем печатает эту JTable в заданном режиме печати, со специфицированным заголовком и подвалом текста.
boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive)
Печатает эту таблицу, как указано в полном методе print, с указанным по умолчанию принтером в качестве службы печати.
boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive, PrintService service)
Печатает эту JTable.
void removeColumn(TableColumn aColumn)
Удаляет aColumn из массива столбцов этой JTable.
void removeColumnSelectionInterval(int index0, int index1)
Снимает выделение с столбцов с index0 по index1, включительно.
void removeEditor()
Отбрасывает объект редактора и освобождает занимаемое им место для отображения ячеек.
void removeNotify()
Вызывает метод unconfigureEnclosingScrollPane.
void removeRowSelectionInterval(int index0, int index1)
Снимает выделение со строк с index0 по index1, включительно.
protected void resizeAndRepaint()
Эквивалентно revalidate за которым следует repaint.
int rowAtPoint(Point point)
Возвращает индекс строки, в которой находится point, или -1, если результат не входит в диапазон [0, getRowCount()-1].
void selectAll()
Выбирает все строки, столбцы и ячейки в таблице.
void setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)
Устанавливает флаг autoCreateColumnsFromModel этой таблицы.
void setAutoCreateRowSorter(boolean autoCreateRowSorter)
Указывает, должен ли быть создан RowSorter для таблицы всякий раз, когда изменяется её модель.
void setAutoResizeMode(int mode)
Устанавливает режим автоматического изменения размера таблицы при её изменении размера.
void setCellEditor(TableCellEditor anEditor)
Устанавливает активный редактор ячейки.
void setCellSelectionEnabled(boolean cellSelectionEnabled)
Устанавливает, разрешает ли эта таблица одновременное существование как выбора столбцов, так и выбора строк.
void setColumnModel(TableColumnModel columnModel)
Устанавливает модель столбцов для этой таблицы в columnModel и регистрируется для получения уведомлений об изменениях от новой модели столбцов.
void setColumnSelectionAllowed(boolean columnSelectionAllowed)
Устанавливает, могут ли столбцы в этой модели выбираться.
void setColumnSelectionInterval(int index0, int index1)
Выбирает столбцы с index0 по index1, включительно.
void setDefaultEditor(Class<?> columnClass, TableCellEditor editor)
Устанавливает по умолчанию редактор ячейки, который будет использоваться, если редактор не был установлен в TableColumn.
void setDefaultRenderer(Class<?> columnClass, TableCellRenderer renderer)
Устанавливает по умолчанию рендерер ячейки, который будет использоваться, если рендерер не был установлен в TableColumn.
void setDragEnabled(boolean b)
Включает или отключает автоматическую обработку перетаскивания.
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 платформы v1.4.
void sorterChanged(RowSorterEvent e)
RowSorterListener уведомление о том, что RowSorter изменился каким-то образом.
void tableChanged(TableModelEvent e)
Вызывается, когда TableModel этой таблицы генерирует TableModelEvent.
protected void unconfigureEnclosingScrollPane()
Отменяет действие configureEnclosingScrollPane путём замены columnHeaderView окружающего окна прокрутки на null.
void updateUI()
Уведомление от UIManager о том, что L&F изменился.
void valueChanged(ListSelectionEvent e)
Вызывается при изменении выбора строки — перерисовывает, чтобы отобразить новый выбор.

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

addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, 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

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

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

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

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

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

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

Подробное описание полей

AUTO_RESIZE_OFF

public static final int AUTO_RESIZE_OFF
Не изменять ширину столбцов автоматически; использовать горизонтальную полосу прокрутки вместо этого.
См. также:
  • Значения константных полей

AUTO_RESIZE_NEXT_COLUMN

public static final int AUTO_RESIZE_NEXT_COLUMN
При изменении размера столбца в пользовательском интерфейсе, изменять смежный столбец в противоположном направлении.
См. также:
  • Значения константных полей

AUTO_RESIZE_SUBSEQUENT_COLUMNS

public static final int AUTO_RESIZE_SUBSEQUENT_COLUMNS
При изменении размера в пользовательском интерфейсе, изменять последующие столбцы, чтобы сохранить общую ширину; это поведение по умолчанию.
См. также:
  • Значения константных полей

AUTO_RESIZE_LAST_COLUMN

public static final int AUTO_RESIZE_LAST_COLUMN
При всех операциях изменения размера, применять изменения только к последнему столбцу.
См. также:
  • Значения константных полей

AUTO_RESIZE_ALL_COLUMNS

public static final int AUTO_RESIZE_ALL_COLUMNS
При всех операциях изменения размера, пропорционально изменять размер всех столбцов.
См. также:
  • Значения константных полей

dataModel

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

columnModel

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

selectionModel

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

tableHeader

protected JTableHeader tableHeader
Заголовок таблицы, работающий с таблицей.

rowHeight

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

rowMargin

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

gridColor

protected Color gridColor
Цвет сетки.

showHorizontalLines

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

showVerticalLines

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

autoResizeMode

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

autoCreateColumnsFromModel

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

preferredViewportSize

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

rowSelectionAllowed

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

cellSelectionEnabled

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

editorComp

protected transient Component editorComp
При редактировании, компонент Component обрабатывающий редактирование.

cellEditor

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

editingColumn

protected transient int editingColumn
Указывает номер столбца редактируемой ячейки.

editingRow

protected transient int editingRow
Указывает номер строки редактируемой ячейки.

defaultRenderersByColumnClass

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

defaultEditorsByColumnClass

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

selectionForeground

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

selectionBackground

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

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

JTable

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

JTable

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

JTable

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

JTable

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

JTable

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

JTable

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

JTable

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

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

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

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

addNotify

public void addNotify()
Вызывает метод configureEnclosingScrollPane.
Overrides:
addNotify в классе JComponent
See Also:
  • configureEnclosingScrollPane()

configureEnclosingScrollPane

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

removeNotify

public void removeNotify()
Вызывает метод unconfigureEnclosingScrollPane.
Overrides:
removeNotify в классе JComponent
See Also:
  • unconfigureEnclosingScrollPane()

unconfigureEnclosingScrollPane

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

createScrollPaneForTable

@Deprecated public static JScrollPane createScrollPaneForTable(JTable aTable)
Устарело.
С версии Swing 1.0.2, заменено на new JScrollPane(aTable).
Эквивалентно new JScrollPane(aTable).
Parameters:
aTable - JTable для использования в области прокрутки
Returns:
JScrollPane созданное с помощью aTable

setTableHeader

@BeanProperty(description="The JTableHeader instance which renders the column headers.") public void setTableHeader(JTableHeader tableHeader)
Устанавливает tableHeader работающего с этой JTable на newHeader. Допустимо иметь null tableHeader.
Parameters:
tableHeader - новый tableHeader
See Also:
  • getTableHeader()

getTableHeader

public JTableHeader getTableHeader()
Возвращает tableHeader, используемый этой JTable.
Returns:
tableHeader, используемый этой таблицей
See Also:
  • setTableHeader(javax.swing.table.JTableHeader)

setRowHeight

@BeanProperty(description="The height of the specified row.") public void setRowHeight(int rowHeight)
Устанавливает высоту всех ячеек в пикселях на rowHeight, перевалидирует и перерисовывает. Высота ячеек будет равна высоте строки минус отступ строки.
Parameters:
rowHeight - новая высота строки
Throws:
IllegalArgumentException - если rowHeight меньше 1
See Also:
  • getRowHeight()

getRowHeight

public int getRowHeight()
Возвращает высоту строки таблицы в пикселях.
Returns:
высота строки таблицы в пикселях
See Also:
  • 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, перевалидирует и перерисовывает. Высота ячеек в этой строке будет равна высоте строки минус отступ строки.
Parameters:
row - строка, высота которой изменяется
rowHeight - новая высота строки в пикселях
Throws:
IllegalArgumentException - если rowHeight меньше 1
Since:
1.3

getRowHeight

public int getRowHeight(int row)
Возвращает высоту ячеек в row в пикселях.
Parameters:
row - строка, высота которой должна быть возвращена
Returns:
высота ячеек в строке в пикселях
Since:
1.3

setRowMargin

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

getRowMargin

public int getRowMargin()
Получает величину отступа между ячейками в пикселях. Эквивалентно: getIntercellSpacing().height.
Returns:
количество пикселей между ячейками в строке
See Also:
  • 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.
Parameters:
intercellSpacing - Dimension, определяющий новую ширину и высоту между ячейками
See Also:
  • getIntercellSpacing()

getIntercellSpacing

public Dimension getIntercellSpacing()
Возвращает горизонтальное и вертикальное пространство между ячейками. Значение по умолчанию зависит от внешнего вида.
Returns:
горизонтальное и вертикальное пространство между ячейками
See Also:
  • setIntercellSpacing(java.awt.Dimension)

setGridColor

@BeanProperty(description="The grid color.") public void setGridColor(Color gridColor)
Устанавливает цвет, используемый для рисования линий сетки, на gridColor и перерисовывает. Цвет по умолчанию зависит от внешнего вида.
Parameters:
gridColor - новый цвет линий сетки
Throws:
IllegalArgumentException - если gridColor null
See Also:
  • getGridColor()

getGridColor

public Color getGridColor()
Возвращает цвет, используемый для рисования линий сетки. Цвет по умолчанию зависит от внешнего вида.
Returns:
цвет, используемый для рисования линий сетки
See Also:
  • setGridColor(java.awt.Color)

setShowGrid

@BeanProperty(description="The color used to draw the grid lines.") public void setShowGrid(boolean showGrid)
Устанавливает, отображать ли таблице сетку линий вокруг ячеек. Если значение showGrid равно true, сетка отображается; если false — нет. Нет метода getShowGrid, так как это состояние хранится в двух переменных — showHorizontalLines и showVerticalLines, каждую из которых можно запросить независимо.
Parameters:
showGrid - true, если таблица должна отображать сетку линий
See Also:
  • 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 — нет.
Parameters:
showHorizontalLines - true, если таблица должна отображать горизонтальные линии
See Also:
  • 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 — нет.
Parameters:
showVerticalLines - true, если таблица должна отображать вертикальные линии
See Also:
  • getShowVerticalLines()
  • setShowGrid(boolean)
  • setShowHorizontalLines(boolean)

getShowHorizontalLines

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

getShowVerticalLines

public boolean getShowVerticalLines()
Возвращает true, если таблица отображает вертикальные линии между ячейками, и false — если нет. Значение по умолчанию зависит от темы.
Returns:
true, если таблица отображает вертикальные линии между ячейками, false — если нет
See Also:
  • 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().
Parameters:
mode - Одно из 5 допустимых значений: AUTO_RESIZE_OFF, AUTO_RESIZE_NEXT_COLUMN, AUTO_RESIZE_SUBSEQUENT_COLUMNS, AUTO_RESIZE_LAST_COLUMN, AUTO_RESIZE_ALL_COLUMNS
See Also:
  • getAutoResizeMode()
  • doLayout()

getAutoResizeMode

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

setAutoCreateColumnsFromModel

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

getAutoCreateColumnsFromModel

public boolean getAutoCreateColumnsFromModel()
Определяет, будет ли таблица создавать столбцы по умолчанию из модели. Если true, setModel очистит все существующие столбцы и создаст новые столбцы из новой модели. Также, если событие в уведомлении tableChanged указывает на то, что вся таблица изменилась, то столбцы будут перестроены. Значение по умолчанию — true.
Returns:
значение autoCreateColumnsFromModel таблицы
See Also:
  • setAutoCreateColumnsFromModel(boolean)
  • createDefaultColumnsFromModel()

createDefaultColumnsFromModel

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

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

See Also:
  • getAutoCreateColumnsFromModel()

setDefaultRenderer

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

getDefaultRenderer

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

setDefaultEditor

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

getDefaultEditor

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

setDragEnabled

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

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

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

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

getDragEnabled

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

setDropMode

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

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

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

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

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

getDropMode

public final DropMode getDropMode()
Возвращает режим опускания для этого компонента.
Returns:
режим опускания для этого компонента
Since:
1.6
See Also:
  • setDropMode(javax.swing.DropMode)

getDropLocation

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

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

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

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

setAutoCreateRowSorter

@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.

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

getAutoCreateRowSorter

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

setUpdateSelectionOnSort

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

getUpdateSelectionOnSort

public boolean getUpdateSelectionOnSort()
Возвращает true, если выделение должно обновляться после сортировки.
Returns:
необходимо ли обновлять выделение при сортировке
Since:
1.6

setRowSorter

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

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

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

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

Parameters:
sorter - RowSorter; null отключает сортировку
Since:
1.6
See Also:
  • TableRowSorter

getRowSorter

public RowSorter<? extends TableModel> getRowSorter()
Возвращает объект, отвечающий за сортировку.
Returns:
объект, отвечающий за сортировку
Since:
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 для получения подробной информации о режимах.

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

setRowSelectionAllowed

@BeanProperty(visualUpdate=true, description="If true, an entire row is selected for each selected cell.") public void setRowSelectionAllowed(boolean rowSelectionAllowed)
Устанавливает, могут ли строки в этой модели быть выделены.
Parameters:
rowSelectionAllowed - true, если эта модель будет разрешать выбор строк
See Also:
  • getRowSelectionAllowed()

getRowSelectionAllowed

public boolean getRowSelectionAllowed()
Возвращает true, если строки могут быть выделены.
Returns:
true, если строки могут быть выделены, в противном случае false
See Also:
  • setRowSelectionAllowed(boolean)

setColumnSelectionAllowed

@BeanProperty(visualUpdate=true, description="If true, an entire column is selected for each selected cell.") public void setColumnSelectionAllowed(boolean columnSelectionAllowed)
Устанавливает, могут ли столбцы в этой модели быть выбраны.
Parameters:
columnSelectionAllowed - true, если эта модель будет разрешать выбор столбцов
See Also:
  • getColumnSelectionAllowed()

getColumnSelectionAllowed

public boolean getColumnSelectionAllowed()
Возвращает true, если столбцы могут быть выбраны.
Returns:
true, если столбцы могут быть выбраны, иначе false
See Also:
  • 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 в заданное значение.
Parameters:
cellSelectionEnabled - true, если разрешен одновременный выбор строк и столбцов
See Also:
  • getCellSelectionEnabled()
  • isCellSelected(int, int)

getCellSelectionEnabled

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

selectAll

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

clearSelection

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

setRowSelectionInterval

public void setRowSelectionInterval(int index0, int index1)
Выбирает строки от index0 до index1, включительно.
Parameters:
index0 - один конец интервала
index1 - другой конец интервала
Throws:
IllegalArgumentException - если index0 или index1 лежат вне [0, getRowCount()-1]

setColumnSelectionInterval

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

addRowSelectionInterval

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

addColumnSelectionInterval

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

removeRowSelectionInterval

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

removeColumnSelectionInterval

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

getSelectedRow

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

getSelectedColumn

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

getSelectedRows

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

getSelectedColumns

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

getSelectedRowCount

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

getSelectedColumnCount

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

isRowSelected

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

isColumnSelected

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

isCellSelected

public boolean isCellSelected(int row, int column)
Возвращает true, если указанные индексы находятся в допустимом диапазоне строк и столбцов, и ячейка в указанной позиции выбрана.
Parameters:
row - строка, для которой запрашивается информация
column - столбец, для которого запрашивается информация
Returns:
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. Применить состояние выделения якоря ко всем ячейкам между ним и указанной ячейкой.
Parameters:
rowIndex - влияет на выделение в row
columnIndex - влияет на выделение в column
toggle - см. описание выше
extend - если true, расширить текущее выделение
Since:
1.3

getSelectionForeground

public Color getSelectionForeground()
Возвращает цвет первого плана для выделенных ячеек.
Returns:
объект Color для свойства foreground
See Also:
  • setSelectionForeground(java.awt.Color)
  • setSelectionBackground(java.awt.Color)

setSelectionForeground

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

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

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

Parameters:
selectionForeground - Color для использования в качестве цвета первого плана для выделенных элементов списка
See Also:
  • getSelectionForeground()
  • setSelectionBackground(java.awt.Color)
  • JComponent.setForeground(java.awt.Color)
  • JComponent.setBackground(java.awt.Color)
  • JComponent.setFont(java.awt.Font)

getSelectionBackground

public Color getSelectionBackground()
Возвращает цвет фона для выделенных ячеек.
Returns:
цвет Color для фона выделенных элементов списка
See Also:
  • setSelectionBackground(java.awt.Color)
  • setSelectionForeground(java.awt.Color)

setSelectionBackground

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

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

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

Parameters:
selectionBackground - Color для использования в качестве цвета фона выделенных ячеек
See Also:
  • getSelectionBackground()
  • setSelectionForeground(java.awt.Color)
  • JComponent.setForeground(java.awt.Color)
  • JComponent.setBackground(java.awt.Color)
  • JComponent.setFont(java.awt.Font)

getColumn

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

convertColumnIndexToModel

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

convertColumnIndexToView

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

convertRowIndexToView

public int convertRowIndexToView(int modelRowIndex)
Преобразует индекс строки с точки зрения TableModel в представление. Если содержимое модели не отсортировано, индексы модели и представления совпадают.
Parameters:
modelRowIndex - индекс строки с точки зрения модели
Returns:
индекс соответствующей строки в представлении или -1, если строка не отображается
Throws:
IndexOutOfBoundsException - если сортировка включена и передан индекс, выходящий за пределы количества строк TableModel
Since:
1.6
See Also:
  • TableRowSorter

convertRowIndexToModel

public int convertRowIndexToModel(int viewRowIndex)
Преобразует индекс строки с точки зрения представления в базовый TableModel. Если содержимое модели не отсортировано, индексы модели и представления совпадают.
Parameters:
viewRowIndex - индекс строки в представлении
Returns:
индекс соответствующей строки в модели
Throws:
IndexOutOfBoundsException - если сортировка включена и передан индекс, выходящий за пределы диапазона JTable, определённый методом getRowCount
Since:
1.6
See Also:
  • TableRowSorter
  • getRowCount()

getRowCount

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

getColumnCount

@BeanProperty(bound=false) public int getColumnCount()
Возвращает количество столбцов в модели столбцов. Обратите внимание, что это может отличаться от количества столбцов в модели таблицы.
Returns:
количество столбцов в таблице
See Also:
  • getRowCount()
  • removeColumn(javax.swing.table.TableColumn)

getColumnName

public String getColumnName(int column)
Возвращает имя столбца, отображаемого в представлении в позиции столбца column.
Parameters:
column - столбец в представлении, запрашиваемый
Returns:
имя столбца в позиции column в представлении, где первый столбец имеет позицию 0

getColumnClass

public Class<?> getColumnClass(int column)
Возвращает тип столбца, отображаемого в представлении в позиции столбца column.
Parameters:
column - столбец в представлении, запрашиваемый
Returns:
тип столбца в позиции column в представлении, где первый столбец имеет позицию 0

getValueAt

public Object getValueAt(int row, int column)
Возвращает значение ячейки по row и column.

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

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

setValueAt

public void setValueAt(Object aValue, int row, int column)
Устанавливает значение ячейки в модели таблицы по row и column.

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

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

isCellEditable

public boolean isCellEditable(int row, int column)
Возвращает true, если ячейка по row и column редактируема. В противном случае вызов setValueAt на ячейке не будет иметь эффекта.

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

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

addColumn

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

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


      addColumn(new TableColumn(modelColumn, width, cellRenderer, cellEditor));

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

removeColumn

public void removeColumn(TableColumn aColumn)
Удаляет aColumn из массива столбцов этого JTable. Примечание: этот метод не удаляет столбец данных из модели; он просто удаляет TableColumn который отвечал за его отображение.
Параметры:
aColumn - удаляемый TableColumn
См. также:
  • addColumn(javax.swing.table.TableColumn)

moveColumn

public void moveColumn(int column, int targetColumn)
Перемещает столбец column в позицию, которую в данный момент занимает столбец targetColumn в представлении. Предыдущий столбец в targetColumn сдвигается влево или вправо, чтобы освободить место.
Параметры:
column - индекс перемещаемого столбца
targetColumn - новый индекс столбца

columnAtPoint

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

rowAtPoint

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

getCellRect

public Rectangle getCellRect(int row, int column, boolean includeSpacing)
Возвращает прямоугольник для ячейки, которая лежит на пересечении row и column. Если includeSpacing равно true, то возвращаемое значение имеет полную высоту и ширину указанной строки и столбца. Если оно равно false, возвращаемый прямоугольник смещен на межклеточный зазор, чтобы вернуть истинные границы компонента отрисовки или редактирования, как он будет установлен во время отрисовки.

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

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

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

doLayout

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

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

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

Режимы:

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

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

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

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

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

Обзор

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

Определение

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

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

Каждый новый размер будет вычисляться следующим образом:

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

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

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

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

Детали

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

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

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

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

sizeColumnsToFit

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

sizeColumnsToFit

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

getToolTipText

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

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

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

setSurrendersFocusOnKeystroke

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

getSurrendersFocusOnKeystroke

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

editCellAt

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

editCellAt

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

isEditing

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

getEditorComponent

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

getEditingColumn

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

getEditingRow

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

getUI

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

setUI

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

updateUI

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

getUIClassID

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

setModel

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

getModel

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

setColumnModel

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

getColumnModel

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

setSelectionModel

@BeanProperty(description="The selection model for rows.") public void setSelectionModel(ListSelectionModel selectionModel)
Устанавливает модель выбора строк для этой таблицы на selectionModel и регистрируется для уведомлений о слушателях от новой модели выбора.
Parameters:
selectionModel - новая модель выбора
Throws:
IllegalArgumentException - если selectionModel является null
See Also:
  • getSelectionModel()

getSelectionModel

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

sorterChanged

public void sorterChanged(RowSorterEvent e)
RowSorterListener уведомление о том, что RowSorter изменился каким-либо образом.
Specified by:
sorterChanged в интерфейсе RowSorterListener
Parameters:
e - RowSorterEvent описывающий изменение
Throws:
NullPointerException - если e является null
Since:
1.6

tableChanged

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

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

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

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

columnAdded

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

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

Specified by:
columnAdded в интерфейсе TableColumnModelListener
Parameters:
e - TableColumnModelEvent
See Also:
  • TableColumnModelListener

columnRemoved

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

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

Specified by:
columnRemoved в интерфейсе TableColumnModelListener
Parameters:
e - TableColumnModelEvent
See Also:
  • TableColumnModelListener

columnMoved

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

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

Specified by:
columnMoved в интерфейсе TableColumnModelListener
Parameters:
e - полученное событие
See Also:
  • TableColumnModelListener

columnMarginChanged

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

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

Specified by:
columnMarginChanged в интерфейсе TableColumnModelListener
Parameters:
e - полученное событие
See Also:
  • 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 области просмотра, для которой этой таблицей является представление
См. также:
  • Scrollable.getPreferredScrollableViewportSize()

getPreferredScrollableViewportSize

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

getScrollableUnitIncrement

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

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

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

getScrollableBlockIncrement

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

getScrollableTracksViewportWidth

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

getScrollableTracksViewportHeight

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

setFillsViewportHeight

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

getFillsViewportHeight

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

createDefaultRenderers

protected void createDefaultRenderers()
Создаёт стандартные рендереры ячеек для объектов, чисел, чисел с плавающей точкой, дат, булевых значений и значков.
См. также:
  • DefaultTableCellRenderer

createDefaultEditors

protected void createDefaultEditors()
Создаёт стандартные редакторы ячеек для объектов, чисел и булевых значений.
См. также:
  • DefaultCellEditor

initializeLocalVars

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

createDefaultDataModel

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

createDefaultColumnModel

protected TableColumnModel createDefaultColumnModel()
Возвращает объект модели столбцов по умолчанию, который является DefaultTableColumnModel. Подкласс может переопределить этот метод, чтобы вернуть другой объект модели столбцов.
Returns:
объект модели столбцов по умолчанию
See Also:
  • DefaultTableColumnModel

createDefaultSelectionModel

protected ListSelectionModel createDefaultSelectionModel()
Возвращает объект модели выделения по умолчанию, который является DefaultListSelectionModel. Подкласс может переопределить этот метод, чтобы вернуть другой объект модели выделения.
Returns:
объект модели выделения по умолчанию
See Also:
  • DefaultListSelectionModel

createDefaultTableHeader

protected JTableHeader createDefaultTableHeader()
Возвращает объект заголовка таблицы по умолчанию, который является JTableHeader. Подкласс может переопределить этот метод, чтобы вернуть другой объект заголовка таблицы.
Returns:
объект заголовка таблицы по умолчанию
See Also:
  • JTableHeader

resizeAndRepaint

protected void resizeAndRepaint()
Эквивалентно revalidate в сочетании с repaint.

getCellEditor

public TableCellEditor getCellEditor()
Возвращает активный редактор ячейки, который является null , если таблица в данный момент не редактируется.
Returns:
TableCellEditor, осуществляющий редактирование, или null, если таблица в данный момент не редактируется.
See Also:
  • cellEditor
  • getCellEditor(int, int)

setCellEditor

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

setEditingColumn

public void setEditingColumn(int aColumn)
Устанавливает переменную editingColumn.
Parameters:
aColumn - столбец редактируемой ячейки
See Also:
  • editingColumn

setEditingRow

public void setEditingRow(int aRow)
Устанавливает переменную editingRow.
Parameters:
aRow - строка редактируемой ячейки
See Also:
  • editingRow

getCellRenderer

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

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

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

prepareRenderer

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

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

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

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

getCellEditor

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

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

Parameters:
row - строка ячейки для редактирования, где 0 — первая строка
column - столбец ячейки для редактирования, где 0 — первый столбец
Returns:
редактор для данной ячейки; если null возвращает редактор по умолчанию для этого типа ячейки
See Also:
  • DefaultCellEditor

prepareEditor

public Component prepareEditor(TableCellEditor editor, int row, int column)
Подготавливает редактор, запрашивая у модели данных значение и состояние выделения ячейки по координатам row, column.

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

Parameters:
editor - редактор, который надо настроить
row - строка ячейки для редактирования, где 0 — первая строка
column - столбец ячейки для редактирования, где 0 — первый столбец
Returns:
редактируемая Component

removeEditor

public void removeEditor()
Отбрасывает объект редактора и освобождает занимаемое им место для рендеринга ячейки.

paramString

protected String paramString()
Возвращает строковое представление этой таблицы. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут варьироваться между реализациями. Возвращаемая строка может быть пустой, но не null.
Overrides:
paramString в классе JComponent
Returns:
строковое представление этой таблицы

print

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

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

Returns:
true, если печать не отменена пользователем
Throws:
SecurityException - если данному потоку не разрешено инициировать запрос на печать
PrinterException - если в системе печати произошла ошибка, из-за которой работа была прервана
Since:
1.5
See Also:
  • print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean, PrintService)
  • getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)

print

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

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

Parameters:
printMode - режим печати, который должен использовать печатаемый объект
Returns:
true, если печать не была отменена пользователем
Throws:
SecurityException - если данному потоку не разрешено инициировать запрос на задание печати
PrinterException - если при работе с системой печати произошла ошибка, из-за которой задание было прервано
Since:
1.5
See Also:
  • print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean, PrintService)
  • getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)

print

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

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

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

print

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

print

public boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive, PrintService service) throws PrinterException, HeadlessException
Печатает эту JTable. Выполняет шаги, которые большинство разработчиков выполняют для печати JTable. Короче говоря, она подготавливает таблицу, вызывает getPrintable для получения соответствующего Printable, а затем отправляет его на принтер.

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

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

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

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

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

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

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

getPrintable

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

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

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

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

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

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

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

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

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

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

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

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

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

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

getAccessibleContext

@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этой JTable. Для таблиц AccessibleContext принимает вид AccessibleJTable. Новый AccessibleJTable создается при необходимости.
Specified by:
getAccessibleContext in interface Accessible
Overrides:
getAccessibleContext in class Component
Returns:
AccessibleJTable, который служит AccessibleContext для этой JTable

© 1993, 2021, 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/17/docs/api/java.desktop/javax/swing/JTable.html

Spec-Zone.ru

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