Класс 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, в пакет java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
CELL_RENDERER_PROPERTY |
Устарело начиная с платформы Java 2 версии 1.3. |
protected TableCellEditor |
cellEditor |
Редактор, используемый для редактирования ячеек данных столбца. |
protected TableCellRenderer |
cellRenderer |
Рендерер, используемый для отрисовки ячеек данных столбца. |
static final String |
COLUMN_WIDTH_PROPERTY |
Устарело начиная с платформы Java 2 версии 1.3. |
static final String |
HEADER_RENDERER_PROPERTY |
Устарело начиная с платформы Java 2 версии 1.3. |
static final String |
HEADER_VALUE_PROPERTY |
Устарело начиная с платформы Java 2 версии 1.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 версии 1.3 |
protected int |
width |
Ширина столбца. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
TableColumn() |
Вспомогательный конструктор, использующий индекс модели по умолчанию 0, ширину по умолчанию 75, рендерер null и редактор null. |
TableColumn |
Вспомогательный конструктор, использующий ширину по умолчанию 75, рендерер null и редактор null. |
TableColumn |
Вспомогательный конструктор, использующий рендерер null и редактор null. |
TableColumn |
Создает и инициализирует экземпляр TableColumn с указанными индексом модели, шириной, рендерером ячеек и редактором ячеек; все конструкторы TableColumn делегируют вызов этому конструктору. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список слушателей. |
protected TableCellRenderer |
createDefaultHeaderRenderer() |
Начиная с платформы Java 2 версии 1.3 этот метод не вызывается конструктором TableColumn. |
void |
disableResizedPosting() |
Устарело. начиная с платформы Java 2 версии 1.3 |
void |
enableResizedPosting() |
Устарело. начиная с платформы Java 2 версии 1.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 из списка слушателей. |
void |
setCellEditor |
Задает редактор, используемый при редактировании ячейки в этом столбце. |
void |
setCellRenderer |
Задает TableCellRenderer, используемый JTable для отрисовки отдельных значений в этом столбце. |
void |
setHeaderRenderer |
Задает TableCellRenderer, используемый для отрисовки заголовка TableColumn, в значение headerRenderer. |
void |
setHeaderValue |
Задает Object, строковое представление которого будет использоваться в качестве значения для headerRenderer. |
void |
setIdentifier |
Задает идентификатор TableColumn равным anIdentifier. |
void |
setMaxWidth |
Задает максимальную ширину TableColumn равной maxWidth или, если maxWidth меньше минимальной ширины, равной минимальной ширине. |
void |
setMinWidth |
Задает минимальную ширину TableColumn равной minWidth, при необходимости корректируя новое минимальное значение, чтобы выполнялось условие 0 <= minWidth <= maxWidth. |
void |
setModelIndex |
Задает индекс модели для этого столбца. |
void |
setPreferredWidth |
Задает предпочтительную ширину этого столбца равной preferredWidth. |
void |
setResizable |
Задает, можно ли изменять размер этого столбца. |
void |
setWidth |
Этот метод не следует использовать для задания ширины столбцов в JTable; вместо него используйте setPreferredWidth. |
void |
sizeWidthToFit() |
Изменяет размер TableColumn так, чтобы он соответствовал ширине ячейки заголовка. |
Подробное описание полей
COLUMN_WIDTH_PROPERTY
public static final String COLUMN_WIDTH_PROPERTY
- См. также:
HEADER_VALUE_PROPERTY
public static final String HEADER_VALUE_PROPERTY
- См. также:
HEADER_RENDERER_PROPERTY
public static final String HEADER_RENDERER_PROPERTY
- См. также:
CELL_RENDERER_PROPERTY
public static final String CELL_RENDERER_PROPERTY
- См. также:
modelIndex
protected int modelIndex
TableColumn. При перемещении столбцов в представлении значение modelIndex остается неизменным.identifier
protected Object identifier
JTable; идентификаторы можно задавать в TableColumn как необязательный способ помечать столбцы таблицы и находить их. Пакет table не изменяет эти объекты-идентификаторы и не вызывает их методы, кроме метода equals, который используется в методе getColumnIndex() класса DefaultTableColumnModel.width
protected int width
minWidth
protected int minWidth
maxWidth
protected int maxWidth
headerRenderer
protected TableCellRenderer headerRenderer
headerValue
protected Object headerValue
cellRenderer
protected TableCellRenderer cellRenderer
cellEditor
protected TableCellEditor cellEditor
isResizable
protected boolean isResizable
resizedPostingDisableCount
@Deprecated protected transient int resizedPostingDisableCount
Подробное описание конструкторов
TableColumn
public TableColumn()
null и редактором null. Этот метод предназначен для сериализации.- См. также:
TableColumn
public TableColumn(int modelIndex)
null и редактором null.- Параметры:
-
modelIndex— индекс столбца в модели, предоставляющей данные для этого столбца таблицы; индекс модели остается неизменным, даже если порядок столбцов в представлении изменяется - См. также:
TableColumn
public TableColumn(int modelIndex, int width)
null и редактором null.- Параметры:
-
modelIndex— индекс столбца в модели, предоставляющей данные для этого столбца таблицы; индекс модели остается неизменным, даже если порядок столбцов в представлении изменяется -
width— предпочтительная и начальная ширина этого столбца - См. также:
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— объект, используемый для редактирования значений в этом столбце - См. также:
Подробное описание методов
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
public Object getIdentifier()
identifier для этого столбца. Обратите внимание: идентификаторы не используются JTable и служат исключительно для внешнего применения. Если identifier равен null, getIdentifier() возвращает getHeaderValue по умолчанию.- Возвращает:
- свойство
identifier - См. также:
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
public Object getHeaderValue()
Object, используемое в качестве значения для средства визуализации заголовка.- Возвращает:
- свойство
headerValue - См. также:
setHeaderRenderer
@BeanProperty(description="The header renderer.") public void setHeaderRenderer(TableCellRenderer headerRenderer)
TableCellRenderer, используемое для отрисовки заголовка TableColumn, равным headerRenderer. Средство визуализации заголовка отвечает за отрисовку индикатора сортировки. Если вы используете сортировку и указываете средство визуализации, оно должно отрисовывать индикатор сортировки.
- Параметры:
-
headerRenderer— новое значение headerRenderer - См. также:
getHeaderRenderer
public TableCellRenderer getHeaderRenderer()
TableCellRenderer, используемое для отрисовки заголовка TableColumn. Если headerRenderer равен null, JTableHeader использует собственное значение defaultRenderer. Значение по умолчанию для headerRenderer — null.- Возвращает:
- свойство
headerRenderer - См. также:
setCellRenderer
@BeanProperty(description="The renderer to use for cell values.") public void setCellRenderer(TableCellRenderer cellRenderer)
TableCellRenderer, используемое JTable для отрисовки отдельных значений этого столбца.- Параметры:
-
cellRenderer— новое значение cellRenderer - См. также:
getCellRenderer
public TableCellRenderer getCellRenderer()
TableCellRenderer, используемое JTable для отрисовки значений этого столбца. cellRenderer столбца определяет не только его внешний вид, но и интерпретацию объекта значения, предоставляемого TableModel. Если cellRenderer равен null, JTable использует средство визуализации по умолчанию, выбранное на основе класса ячеек этого столбца. Значение по умолчанию для cellRenderer — null.- Возвращает:
- свойство
cellRenderer - См. также:
setCellEditor
@BeanProperty(description="The editor to use for cell values.") public void setCellEditor(TableCellEditor cellEditor)
- Параметры:
-
cellEditor— новое значение cellEditor - См. также:
getCellEditor
public TableCellEditor getCellEditor()
TableCellEditor, используемый JTable для редактирования значений этого столбца. Если cellEditor равен null, JTable использует редактор по умолчанию, выбранный на основе класса ячеек этого столбца. Значение по умолчанию для cellEditor — null.- Возвращает:
- свойство
cellEditor - См. также:
setWidth
@BeanProperty(description="The width of the column.") public void setWidth(int width)
JTable; вместо него используйте setPreferredWidth. Подобно менеджеру компоновки в AWT, JTable автоматически изменяет ширину столбца при каждом изменении размера самой таблицы или предпочтительной ширины столбца. Поэтому программная установка ширины не дает долгосрочного эффекта. Этот метод задает ширину столбца равной width. Если width выходит за пределы минимальной или максимальной ширины, оно корректируется до соответствующего предельного значения.
- Параметры:
-
width— новая ширина - См. также:
getWidth
public int getWidth()
TableColumn. Ширина по умолчанию равна 75.- Возвращает:
- свойство
width - См. также:
setPreferredWidth
@BeanProperty(description="The preferred width of the column.") public void setPreferredWidth(int preferredWidth)
preferredWidth. Если preferredWidth выходит за пределы минимальной или максимальной ширины, оно корректируется до соответствующего предельного значения. Сведения о том, как ширина столбцов в JTable (и JTableHeader) вычисляется на основе preferredWidth, см. в описании метода doLayout класса JTable.
- Параметры:
-
preferredWidth— новая предпочтительная ширина - См. также:
getPreferredWidth
public int getPreferredWidth()
TableColumn. Предпочтительная ширина по умолчанию равна 75.- Возвращает:
- свойство
preferredWidth - См. также:
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
public int getMinWidth()
TableColumn. Ширину TableColumn нельзя уменьшить ниже этого значения ни пользователю, ни программно.- Возвращает:
- свойство
minWidth - См. также:
setMaxWidth
@BeanProperty(description="The maximum width of the column.") public void setMaxWidth(int maxWidth)
TableColumn равной maxWidth или, если maxWidth меньше минимальной ширины, равной минимальной ширине. Если значение свойства width или preferredWidth превышает новую максимальную ширину, этот метод задает для этого свойства новую максимальную ширину.
- Параметры:
-
maxWidth— новая максимальная ширина - См. также:
getMaxWidth
public int getMaxWidth()
TableColumn. Ширину TableColumn нельзя увеличить сверх этого значения ни пользователю, ни программно. Значение maxWidth по умолчанию — Integer.MAX_VALUE.- Возвращает:
- свойство
maxWidth - См. также:
setResizable
@BeanProperty(description="Whether or not this column can be resized.") public void setResizable(boolean isResizable)
- Параметры:
-
isResizable— если true, изменение размера разрешено; в противном случае false - См. также:
getResizable
public boolean getResizable()
TableColumn, и false в противном случае. Независимо от этой настройки ширину можно изменить программно. По умолчанию задано true.- Возвращает:
- свойство
isResizable - См. также:
sizeWidthToFit
public void sizeWidthToFit()
TableColumn так, чтобы он соответствовал ширине ячейки заголовка. Этот метод ничего не делает, если средство визуализации заголовка равно null (случай по умолчанию). В противном случае он задает минимальную, максимальную и предпочтительную ширину этого столбца равными ширинам минимального, максимального и предпочтительного размеров компонента, предоставленного средством визуализации заголовка. Временное свойство "width" этого TableColumn также устанавливается равным предпочтительной ширине. Обратите внимание, что пакет table не использует этот метод внутри себя.- См. также:
disableResizedPosting
@Deprecated public void disableResizedPosting()
enableResizedPosting
@Deprecated public void enableResizedPosting()
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
public void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener из списка слушателей. Удаляемый PropertyChangeListener был зарегистрирован для всех свойств.- Параметры:
-
listener— удаляемый слушатель
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener, добавленных в этот TableColumn с помощью addPropertyChangeListener().- Возвращает:
- все добавленные
PropertyChangeListenerили пустой массив, если слушатели не добавлялись - Начиная с:
- 1.4
createDefaultHeaderRenderer
protected TableCellRenderer createDefaultHeaderRenderer()
TableColumn. Ранее этот метод использовался TableColumn для создания средства визуализации заголовка по умолчанию. Начиная с платформы Java 2 v1.3 средством визуализации заголовка по умолчанию является null. JTableHeader теперь предоставляет собственное общее средство визуализации по умолчанию, подобно тому как JTable предоставляет средства визуализации ячеек.- Возвращает:
- средство визуализации заголовка по умолчанию
- См. также:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/table/TableColumn.html