Класс TableColumn

Все реализованные интерфейсы:
Serializable
public class TableColumn
extends Object
implements Serializable

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

Также можно указать рендереры и редакторы на основе типа, а не на основе столбца — см. метод setDefaultRenderer в классе JTable. Этот механизм по умолчанию используется только тогда, когда рендерер (или редактор) в TableColumn null.

TableColumn хранит связь между столбцами в JTable и столбцами в TableModel. modelIndex — это столбец в TableModel, который будет запрошен для получения значений данных для ячеек в этом столбце. При перемещении столбца в представлении этот modelIndex не изменяется.

Примечание: Некоторые реализации могут предполагать, что все TableColumnModel уникальны, поэтому рекомендуется, чтобы один и тот же экземпляр TableColumn не добавлялся более одного раза в TableColumnModel. Чтобы отобразить TableColumn со столбцом данных из модели, создайте новый экземпляр с тем же modelIndex.

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

См. также:
TableColumnModel, DefaultTableColumnModel, JTableHeader.getDefaultRenderer(), JTable.getDefaultRenderer(Class), JTable.getDefaultEditor(Class), JTable.getCellRenderer(int, int), JTable.getCellEditor(int, int), Сериализованная форма

Сводка полей

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

Устаревшее начиная с платформы Java 2 v1.3.

protected TableCellEditor cellEditor

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

protected TableCellRenderer cellRenderer

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

static String COLUMN_WIDTH_PROPERTY

Устаревшее начиная с платформы Java 2 v1.3.

static String HEADER_RENDERER_PROPERTY

Устаревшее начиная с платформы Java 2 v1.3.

static String HEADER_VALUE_PROPERTY

Устаревшее начиная с платформы Java 2 v1.3.

protected TableCellRenderer headerRenderer

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

protected Object headerValue

Значение заголовка столбца.

protected Object identifier

Этот объект не используется внутренними механизмами отрисовки JTable; идентификаторы могут быть установлены в TableColumn в качестве необязательного способа маркировки и определения местоположения столбцов таблицы.

protected boolean isResizable

Если true, пользователь может изменять размер столбца; значение по умолчанию — true.

protected int maxWidth

Максимальная ширина столбца.

protected int minWidth

Минимальная ширина столбца.

protected int modelIndex

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

protected int resizedPostingDisableCount

Устаревший.

начиная с платформы Java 2 v1.3

protected int width

Ширина столбца.

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

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

Метод-обёртка, использующий индекс модели по умолчанию 0, ширину по умолчанию 75, рендерер по умолчанию и редактор по умолчанию.

TableColumn​(int modelIndex)

Метод-обёртка, использующий ширину по умолчанию 75, рендерер по умолчанию и редактор по умолчанию.

TableColumn​(int modelIndex, int width)

Метод-обёртка, использующий рендерер по умолчанию и редактор по умолчанию.

TableColumn​(int modelIndex, int width, TableCellRenderer cellRenderer, TableCellEditor cellEditor)

Создаёт и инициализирует экземпляр TableColumn с указанным индексом модели, шириной, рендерером ячейки и редактором ячейки; все конструкторы TableColumn делегируют вызов этому.

Методы

Модификатор и тип Метод Описание
void addPropertyChangeListener​(PropertyChangeListener listener)

Добавляет PropertyChangeListener в список слушателей.

protected TableCellRenderer createDefaultHeaderRenderer()

Начиная с Java 2 платформы v1.3, этот метод не вызывается конструктором TableColumn.

void disableResizedPosting()

Устаревший.

с Java 2 платформы v1.3

void enableResizedPosting()

Устаревший.

с Java 2 платформы v1.3

TableCellEditor getCellEditor()

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

TableCellRenderer getCellRenderer()

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

TableCellRenderer getHeaderRenderer()

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

Object getHeaderValue()

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

Object getIdentifier()

Возвращает объект identifier для этого столбца.

int getMaxWidth()

Возвращает максимальную ширину для TableColumn.

int getMinWidth()

Возвращает минимальную ширину для TableColumn.

int getModelIndex()

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

int getPreferredWidth()

Возвращает предпочтительную ширину TableColumn.

PropertyChangeListener[] getPropertyChangeListeners()

Возвращает массив всех PropertyChangeListener добавленных в этот TableColumn с помощью addPropertyChangeListener().

boolean getResizable()

Возвращает true, если пользователь может изменять ширину TableColumn, в противном случае false.

int getWidth()

Возвращает ширину TableColumn.

void removePropertyChangeListener​(PropertyChangeListener listener)

Удаляет PropertyChangeListener из списка слушателей.

void setCellEditor​(TableCellEditor cellEditor)

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

void setCellRenderer​(TableCellRenderer cellRenderer)

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

void setHeaderRenderer​(TableCellRenderer headerRenderer)

Устанавливает TableCellRenderer используемый для отображения заголовка TableColumn в headerRenderer.

void setHeaderValue​(Object headerValue)

Устанавливает Object, строковое представление которого будет использоваться как значение для headerRenderer.

void setIdentifier​(Object identifier)

Устанавливает идентификатор TableColumn в anIdentifier.

void setMaxWidth​(int maxWidth)

Устанавливает максимальную ширину TableColumn в maxWidth или, если maxWidth меньше минимальной ширины, в минимальную ширину.

void setMinWidth​(int minWidth)

Устанавливает минимальную ширину TableColumn в minWidth, корректируя новую минимальную ширину при необходимости, чтобы гарантировать, что 0 <= minWidth <= maxWidth.

void setModelIndex​(int modelIndex)

Устанавливает индекс модели для этого столбца.

void setPreferredWidth​(int preferredWidth)

Устанавливает предпочтительную ширину этого столбца в preferredWidth.

void setResizable​(boolean isResizable)

Устанавливает, можно ли изменять размер этого столбца.

void setWidth​(int width)

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

void sizeWidthToFit()

Изменяет размер TableColumn для соответствия ширине ячейки заголовка.

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

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

Поля

COLUMN_WIDTH_PROPERTY

public static final String COLUMN_WIDTH_PROPERTY

Устарело начиная с платформы Java 2 v1.3. Используйте строковые литералы для идентификации свойств.

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

HEADER_VALUE_PROPERTY

public static final String HEADER_VALUE_PROPERTY

Устарело начиная с платформы Java 2 v1.3. Используйте строковые литералы для идентификации свойств.

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

HEADER_RENDERER_PROPERTY

public static final String HEADER_RENDERER_PROPERTY

Устарело начиная с платформы Java 2 v1.3. Используйте строковые литералы для идентификации свойств.

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

CELL_RENDERER_PROPERTY

public static final String CELL_RENDERER_PROPERTY

Устарело начиная с платформы Java 2 v1.3. Используйте строковые литералы для идентификации свойств.

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

modelIndex

protected int modelIndex

Индекс столбца в модели, который должен отображаться этим TableColumn. При перемещении столбцов в представлении modelIndex остается постоянным.

identifier

protected Object identifier

Этот объект не используется внутренними механизмами отрисовки JTable; идентификаторы могут быть заданы в TableColumn в качестве необязательного способа маркировки и поиска столбцов таблицы. Модуль таблицы не изменяет и не вызывает никаких методов в этих объектах-идентификаторах, кроме метода equals, который используется в методе getColumnIndex() в DefaultTableColumnModel.

ширина

protected int width

Ширина столбца.

минимальная ширина

protected int minWidth

Минимальная ширина столбца.

максимальная ширина

protected int maxWidth

Максимальная ширина столбца.

headerRenderer

protected TableCellRenderer headerRenderer

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

headerValue

protected Object headerValue

Значение заголовка столбца.

cellRenderer

protected TableCellRenderer cellRenderer

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

cellEditor

protected TableCellEditor cellEditor

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

isResizable

protected boolean isResizable

Если true, пользователь может изменять размер столбца; по умолчанию true.

resizedPostingDisableCount

@Deprecated
protected transient int resizedPostingDisableCount
Устарело.
с платформы Java 2 v1.3

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

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

TableColumn

public TableColumn()

Метод-обёртка, использующий индекс модели по умолчанию 0, ширину по умолчанию 75, null отрисовщик и null редактор. Этот метод предназначен для сериализации.

См. также:
TableColumn(int, int, TableCellRenderer, TableCellEditor)

TableColumn

public TableColumn(int modelIndex)

Метод-обёртка, использующий ширину по умолчанию 75, null отрисовщик и null редактор.

Параметры:
modelIndex - индекс столбца в модели, которая предоставляет данные для этого столбца в таблице; индекс модели остается неизменным даже при переупорядочивании столбцов в представлении
См. также:
TableColumn(int, int, TableCellRenderer, TableCellEditor)

TableColumn

public TableColumn(int modelIndex,
                   int width)

Метод-обёртка, использующий null отрисовщик и null редактор.

Параметры:
modelIndex - индекс столбца в модели, которая предоставляет данные для этого столбца в таблице; индекс модели остается неизменным даже при переупорядочивании столбцов в представлении
width - предпочтительная ширина и начальная ширина этого столбца
См. также:
TableColumn(int, int, TableCellRenderer, TableCellEditor)

TableColumn

public TableColumn(int modelIndex,
                   int width,
                   TableCellRenderer cellRenderer,
                   TableCellEditor cellEditor)

Создает и инициализирует экземпляр TableColumn с указанным индексом модели, шириной, отрисовщиком ячейки и редактором ячейки; все TableColumn конструкторы делегируют этому. Значение width используется как для начальной, так и для предпочтительной ширины; если width отрицательно, они устанавливаются в 0. Минимальная ширина устанавливается в 15, если только начальная ширина меньше, в этом случае минимальная ширина устанавливается в начальную ширину.

Когда параметр cellRenderer или cellEditor равен null, используется значение по умолчанию, предоставляемое методом JTable getDefaultRenderer или getDefaultEditor соответственно, для обеспечения значений по умолчанию, основанных на типе данных в этом столбце. Эту стратегию рендеринга, ориентированную на столбцы, можно обойти, переопределив методы getCellRenderer в JTable.

Параметры:
modelIndex - индекс столбца в модели, который предоставляет данные для этого столбца в таблице; индекс модели остается неизменным даже при переупорядочивании столбцов в представлении
width - предпочтительная ширина и начальная ширина этого столбца
cellRenderer - объект, используемый для рендеринга значений в этом столбце
cellEditor - объект, используемый для редактирования значений в этом столбце
См. также:
getMinWidth(), JTable.getDefaultRenderer(Class), JTable.getDefaultEditor(Class), JTable.getCellRenderer(int, int), JTable.getCellEditor(int, int)

Методы

setModelIndex

@BeanProperty(description="The model index.")
public void setModelIndex(int modelIndex)

Устанавливает индекс модели для этого столбца. Индекс модели — это индекс столбца в модели, который будет отображаться этим TableColumn. По мере перемещения TableColumn по представлению индекс модели остаётся постоянным.

Параметры:
modelIndex - новый modelIndex

getModelIndex

public int getModelIndex()

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

Возвращает:
свойство modelIndex

setIdentifier

@BeanProperty(description="A unique identifier for this column.")
public void setIdentifier(Object identifier)

Устанавливает идентификатор TableColumn на anIdentifier.

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

Параметры:
identifier - идентификатор этого столбца
См. также:
getIdentifier()

getIdentifier

public Object getIdentifier()

Возвращает объект identifier для этого столбца. Примечание: идентификаторы не используются JTable, они предназначены только для удобства внешнего использования. Если identifier равен null, getIdentifier() возвращает getHeaderValue в качестве значения по умолчанию.

Возвращает:
свойство identifier
См. также:
setIdentifier(java.lang.Object)

setHeaderValue

@BeanProperty(description="The text to be used by the header renderer.")
public void setHeaderValue(Object headerValue)

Устанавливает значение Object, строковое представление которого будет использоваться в качестве значения для headerRenderer. При создании TableColumn, значение по умолчанию для headerValue равно null.

Параметры:
headerValue - новое значение headerValue
См. также:
getHeaderValue()

getHeaderValue

public Object getHeaderValue()

Возвращает значение Object для рендерера заголовка.

Возвращает:
свойство headerValue
См. также:
setHeaderValue(java.lang.Object)

setHeaderRenderer

@BeanProperty(description="The header renderer.")
public void setHeaderRenderer(TableCellRenderer headerRenderer)

Устанавливает TableCellRenderer для отображения заголовка TableColumn на headerRenderer.

Ответственность за рендеринг индикатора сортировки лежит на рендерере заголовка. Если вы используете сортировку и указываете рендерер, ваш рендерер должен отображать индикатор сортировки.

Параметры:
headerRenderer - новый headerRenderer
См. также:
getHeaderRenderer()

getHeaderRenderer

public TableCellRenderer getHeaderRenderer()

Возвращает TableCellRenderer, используемый для отображения заголовка TableColumn. Если headerRenderer равно null, JTableHeader использует свой defaultRenderer. Значение по умолчанию для headerRenderer равно null.

Возвращает:
свойство headerRenderer
См. также:
setHeaderRenderer(javax.swing.table.TableCellRenderer), setHeaderValue(java.lang.Object), JTableHeader.getDefaultRenderer()

setCellRenderer

@BeanProperty(description="The renderer to use for cell values.")
public void setCellRenderer(TableCellRenderer cellRenderer)

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

Параметры:
cellRenderer - новый cellRenderer
См. также:
getCellRenderer()

getCellRenderer

public TableCellRenderer getCellRenderer()

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

Возвращает:
свойство cellRenderer
См. также:
setCellRenderer(javax.swing.table.TableCellRenderer), JTable.setDefaultRenderer(java.lang.Class<?>, javax.swing.table.TableCellRenderer)

setCellEditor

@BeanProperty(description="The editor to use for cell values.")
public void setCellEditor(TableCellEditor cellEditor)

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

Параметры:
cellEditor - новый cellEditor
См. также:
getCellEditor()

getCellEditor

public TableCellEditor getCellEditor()

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

Возвращает:
свойство cellEditor
См. также:
setCellEditor(javax.swing.table.TableCellEditor), JTable.setDefaultEditor(java.lang.Class<?>, javax.swing.table.TableCellEditor)

setWidth

@BeanProperty(description="The width of the column.")
public void setWidth(int width)

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

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

Параметры:
width - новая ширина
См. также:
getWidth(), setMinWidth(int), setMaxWidth(int), setPreferredWidth(int), JTable.doLayout()

getWidth

public int getWidth()

Возвращает ширину TableColumn. Значение ширины по умолчанию равно 75.

Возвращает:
свойство width
См. также:
setWidth(int)

setPreferredWidth

@BeanProperty(description="The preferred width of the column.")
public void setPreferredWidth(int preferredWidth)

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

Для получения подробной информации о том, как рассчитываются ширины столбцов в JTable (и JTableHeader) из preferredWidth, см. метод doLayout в JTable.

Параметры:
preferredWidth - новая предпочтительная ширина
См. также:
getPreferredWidth(), JTable.doLayout()

getPreferredWidth

public int getPreferredWidth()

Возвращает предпочтительную ширину TableColumn. Значение предпочтительной ширины по умолчанию равно 75.

Возвращает:
свойство preferredWidth
См. также:
setPreferredWidth(int)

setMinWidth

@BeanProperty(description="The minimum width of the column.")
public void setMinWidth(int minWidth)

Устанавливает минимальную ширину TableColumn на minWidth, корректируя новую минимальную ширину при необходимости, чтобы гарантировать, что 0 <= minWidth <= maxWidth. Например, если аргумент minWidth отрицательный, этот метод устанавливает свойство minWidth в 0.

Если значение свойства width или preferredWidth меньше новой минимальной ширины, этот метод устанавливает это свойство на новую минимальную ширину.

Параметры:
minWidth - новая минимальная ширина
См. также:
getMinWidth(), setPreferredWidth(int), setMaxWidth(int)

getMinWidth

public int getMinWidth()

Возвращает минимальную ширину TableColumn. Ширина TableColumn не может быть меньше этого значения ни пользователем, ни программно.

Возвращает:
свойство minWidth
См. также:
setMinWidth(int), TableColumn(int, int, TableCellRenderer, TableCellEditor)

setMaxWidth

@BeanProperty(description="The maximum width of the column.")
public void setMaxWidth(int maxWidth)

Устанавливает максимальную ширину TableColumn на maxWidth или, если maxWidth меньше минимальной ширины, на минимальную ширину.

Если значение свойства width или preferredWidth больше новой максимальной ширины, этот метод устанавливает это свойство на новую максимальную ширину.

Параметры:
maxWidth - новая максимальная ширина
См. также:
getMaxWidth(), setPreferredWidth(int), setMinWidth(int)

getMaxWidth

public int getMaxWidth()

Возвращает максимальную ширину TableColumn. Ширина TableColumn не может быть больше этого значения ни пользователем, ни программно. Значение по умолчанию для maxWidth равно Integer.MAX_VALUE.

Возвращает:
свойство maxWidth
См. также:
setMaxWidth(int)

setResizable

@BeanProperty(description="Whether or not this column can be resized.")
public void setResizable(boolean isResizable)

Устанавливает, можно ли изменять размер этого столбца.

Параметры:
isResizable - если true, изменение размера разрешено; в противном случае false
См. также:
getResizable()

getResizable

public boolean getResizable()

Возвращает true, если пользователю разрешено изменять ширину TableColumn, в противном случае false. Вы можете программно изменить ширину независимо от этого параметра. По умолчанию значение равно true.

Возвращает:
свойство isResizable
См. также:
setResizable(boolean)

sizeWidthToFit

public void sizeWidthToFit()

Изменяет размер TableColumn для соответствия ширине ячейки заголовка. Этот метод ничего не делает, если рендерер заголовка null (случай по умолчанию). В противном случае он устанавливает минимальную, максимальную и предпочтительную ширину этого столбца в соответствии с минимальным, максимальным и предпочтительным размерами компонента, предоставленного рендерером заголовка. Переменная «ширина» этого TableColumn также устанавливается в предпочтительную ширину. Обратите внимание, что этот метод не используется внутри пакета таблиц.

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

disableResizedPosting

@Deprecated
public void disableResizedPosting()
Устарело.
с версии Java 2 platform v1.3

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

enableResizedPosting

@Deprecated
public void enableResizedPosting()
Устарело.
с версии Java 2 platform v1.3

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

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)

Добавляет PropertyChangeListener в список слушателей. Слушатель регистрируется для всех связанных свойств этого класса, включая следующие:

  • modelIndex столбца TableColumn ("modelIndex")
  • идентификатор столбца TableColumn ("identifier")
  • значение заголовка столбца TableColumn ("headerValue")
  • рендерер заголовка столбца TableColumn ("headerRenderer")
  • рендерер ячейки столбца TableColumn ("cellRenderer")
  • редактор ячейки столбца TableColumn ("cellEditor")
  • ширина столбца TableColumn ("width")
  • предпочтительная ширина столбца TableColumn ("preferredWidth")
  • минимальная ширина столбца TableColumn ("minWidth")
  • максимальная ширина столбца TableColumn ("maxWidth")
  • состояние изменяемости размера столбца TableColumn ("isResizable")

Параметры:
listener - слушатель, который нужно добавить
См. также:
removePropertyChangeListener(PropertyChangeListener)

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)

Удаляет PropertyChangeListener из списка слушателей. PropertyChangeListener был зарегистрирован для всех свойств.

Параметры:
listener - слушатель, который нужно удалить

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners()

Возвращает массив всех PropertyChangeListener добавленных к этому TableColumn с помощью addPropertyChangeListener().

Возвращает:
все PropertyChangeListener или пустой массив, если слушатели не добавлены
С версии:
1.4

createDefaultHeaderRenderer

protected TableCellRenderer createDefaultHeaderRenderer()

С версии Java 2 platform v1.3, этот метод не вызывается конструктором TableColumn. Ранее этот метод использовался TableColumn для создания рендерера заголовка по умолчанию. С версии Java 2 platform v1.3 рендерер заголовка по умолчанию равен null. JTableHeader теперь предоставляет свой собственный общий рендерер по умолчанию, так же, как и JTable для своих рендереров ячеек.

Возвращает:
рендерер заголовка по умолчанию
См. также:
JTableHeader.createDefaultRenderer()

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

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