Класс 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.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
CELL_RENDERER_PROPERTY |
Устарело начиная с Java 2 platform v1.3. |
protected TableCellEditor |
cellEditor |
Редактор, используемый для редактирования ячеек данных столбца. |
protected TableCellRenderer |
cellRenderer |
Отобразитель, используемый для отображения ячеек данных столбца. |
static final String |
COLUMN_WIDTH_PROPERTY |
Устарело начиная с Java 2 platform v1.3. |
static final String |
HEADER_RENDERER_PROPERTY |
Устарело начиная с Java 2 platform v1.3. |
static final String |
HEADER_VALUE_PROPERTY |
Устарело начиная с Java 2 platform 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 platform v1.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 platform v1.3, этот метод не вызывается конструктором TableColumn. |
void |
disableResizedPosting() |
Устарело. начиная с Java 2 platform v1.3 |
void |
enableResizedPosting() |
Устарело. начиная с Java 2 platform 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 из списка слушателей. |
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 как необязательный способ маркировки и поиска столбцов таблицы. Пакет таблиц не изменяет и не вызывает методы в этих объектах-идентификаторах, кроме метода 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 - См. также:
Установить максимальную ширину
@BeanProperty(description="The maximum width of the column.") public void setMaxWidth(int maxWidth)
TableColumn в maxWidth, или, если maxWidth меньше минимальной ширины, в минимальную ширину. Если значение свойства width или preferredWidth больше новой максимальной ширины, этот метод устанавливает это свойство в новую максимальную ширину.
- Параметры:
-
maxWidth- новая максимальная ширина - См. также:
Получить максимальную ширину
public int getMaxWidth()
TableColumn. Ширина TableColumn не может быть больше этого значения, ни пользователем, ни программно. По умолчанию maxWidth равен Integer.MAX_VALUE.- Возвращает:
- свойство
maxWidth - См. также:
Установить возможность изменения размера
@BeanProperty(description="Whether or not this column can be resized.") public void setResizable(boolean isResizable)
- Параметры:
-
isResizable- если true, изменение размера разрешено; в противном случае false - См. также:
Получить возможность изменения размера
public boolean getResizable()
TableColumn, и false в противном случае. Вы можете изменять ширину программно независимо от этого параметра. По умолчанию true.- Возвращает:
- свойство
isResizable - См. также:
Изменить ширину, чтобы она соответствовала заголовку
public void sizeWidthToFit()
TableColumn так, чтобы он соответствовал ширине ячейки заголовка. Этот метод ничего не делает, если отрисовщик заголовка null (стандартный случай). В противном случае он устанавливает минимальную, максимальную и предпочтительную ширину этой колонки на ширины минимального, максимального и предпочтительного размеров компонента, возвращаемого отрисовщиком заголовка. Переменное свойство "width" этого TableColumn также устанавливается на предпочтительную ширину. Обратите внимание, что этот метод не используется внутри пакета таблицы.- См. также:
disableResizedPosting
@Deprecated public void disableResizedPosting()
enableResizedPosting
@Deprecated public void enableResizedPosting()
Добавить слушателя изменений свойств
public void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener в список слушателей. Слушатель регистрируется для всех связанных свойств этого класса, включая следующие: - Индекс модели TableColumn ("modelIndex")
- Идентификатор TableColumn ("identifier")
- Значение заголовка TableColumn ("headerValue")
- Отрисовщик заголовка TableColumn ("headerRenderer")
- Отрисовщик ячейки TableColumn ("cellRenderer")
- Редактор ячейки TableColumn ("cellEditor")
- Ширина TableColumn ("width")
- Предпочтительная ширина TableColumn ("preferredWidth")
- Минимальная ширина TableColumn ("minWidth")
- Максимальная ширина TableColumn ("maxWidth")
- Состояние изменёности размера TableColumn ("isResizable")
- Параметры:
-
listener- слушатель, который нужно добавить - См. также:
Удалить слушателя изменений свойств
public void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener из списка слушателей. Слушатель PropertyChangeListener был зарегистрирован для всех свойств.- Параметры:
-
listener- слушатель, который нужно удалить
Получить слушателей изменений свойств
public PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener, добавленных к этому TableColumn с помощью addPropertyChangeListener().- Возвращает:
- все добавленные слушатели
PropertyChangeListenerили пустой массив, если слушатели не добавлены - С тех пор:
- 1.4
Создать по-умолчанию отрисовщик заголовков
protected TableCellRenderer createDefaultHeaderRenderer()
TableColumn. Ранее этот метод использовался конструктором TableColumn для создания отрисовщика заголовков по умолчанию. Начиная с Java 2 platform 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/table/TableColumn.html