Класс 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.
Краткое описание полей
| Modifier and Type | Field | Description |
|---|---|---|
static final String |
CELL_RENDERER_PROPERTY |
Устарело с платформой Java 2 v1.3. |
protected TableCellEditor |
cellEditor |
Редактор, используемый для редактирования ячеек данных столбца. |
protected TableCellRenderer |
cellRenderer |
Рендерер, используемый для отрисовки ячеек данных столбца. |
static final String |
COLUMN_WIDTH_PROPERTY |
Устарело с платформой Java 2 v1.3. |
static final String |
HEADER_RENDERER_PROPERTY |
Устарело с платформой Java 2 v1.3. |
static final 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, null рендерер и null редактор. |
TableColumn |
Метод-обертка, использующий ширину по умолчанию 75, null рендерер и null редактор. |
TableColumn |
Метод-обертка, использующий null рендерер и null редактор. |
TableColumn |
Создает и инициализирует экземпляр TableColumn со заданным индексом модели, шириной, рендерером ячейки и редактором ячейки; все конструкторы TableColumn делегируют вызов этому конструктору. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список слушателей. |
protected TableCellRenderer |
createDefaultHeaderRenderer() |
С версии Java 2 platform 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 из списка слушателей. |
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- новый индекс модели
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- новое значение заголовка - См. также:
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.- Returns:
- свойство
isResizable - См. также:
sizeWidthToFit
public void sizeWidthToFit()
TableColumn для соответствия ширине ячейки заголовка. Этот метод ничего не делает, если рендерер заголовка null (случай по умолчанию). В противном случае он устанавливает минимальную, максимальную и предпочтительную ширины этого столбца на значения минимального, максимального и предпочтительного размеров компонента, полученного от рендерера заголовка. Переменная "width" этого объекта TableColumn также устанавливается на предпочтительную ширину. Обратите внимание, что этот метод не используется внутри пакета таблиц.- См. также:
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")
- Parameters:
-
listener- добавляемый слушатель - См. также:
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener из списка слушателей. PropertyChangeListener для удаления был зарегистрирован для всех свойств.- Parameters:
-
listener- слушатель для удаления
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener добавленных в этот объект TableColumn с помощью addPropertyChangeListener().- Returns:
- все добавленные
PropertyChangeListenerили пустой массив, если слушателей нет - Since:
- 1.4
createDefaultHeaderRenderer
protected TableCellRenderer createDefaultHeaderRenderer()
TableColumn. Ранее этот метод использовался объектом TableColumn для создания рендерера заголовка по умолчанию. Начиная с Java 2 platform v1.3, рендерер заголовка по умолчанию — null. JTableHeader теперь предоставляет свой собственный общий рендерер по умолчанию, так же как и JTable для своих рендереров ячеек.- Returns:
- рендерер заголовка по умолчанию
- См. также:
© 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/table/TableColumn.html