Класс TableColumn
- java.lang.Object
-
- javax.swing.table.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 Этот объект не используется внутренними механизмами отрисовки |
protected boolean |
isResizable Если true, пользователь может изменить размер столбца; значение по умолчанию — true. |
protected int |
maxWidth Максимальная ширина столбца. |
protected int |
minWidth Минимальная ширина столбца. |
protected int |
modelIndex Индекс столбца в модели, который должен быть отображен этим |
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) Создаёт и инициализирует экземпляр |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
addPropertyChangeListener(PropertyChangeListener listener) Добавляет |
protected TableCellRenderer |
createDefaultHeaderRenderer() Начиная с Java 2 платформы v1.3, этот метод не вызывается конструктором |
void |
disableResizedPosting() Устарело. начиная с Java 2 платформы v1.3 |
void |
enableResizedPosting() Устарело. начиная с Java 2 платформы v1.3 |
TableCellEditor |
getCellEditor() Возвращает |
TableCellRenderer |
getCellRenderer() Возвращает |
TableCellRenderer |
getHeaderRenderer() Возвращает |
Object |
getHeaderValue() Возвращает |
Object |
getIdentifier() Возвращает объект |
int |
getMaxWidth() Возвращает максимальную ширину для |
int |
getMinWidth() Возвращает минимальную ширину для |
int |
getModelIndex() Возвращает индекс модели для этого столбца. |
int |
getPreferredWidth() Возвращает предпочтительную ширину |
PropertyChangeListener[] |
getPropertyChangeListeners() Возвращает массив всех |
boolean |
getResizable() Возвращает true, если пользователь может изменять ширину |
int |
getWidth() Возвращает ширину |
void |
removePropertyChangeListener(PropertyChangeListener listener) Удаляет |
void |
setCellEditor(TableCellEditor cellEditor) Устанавливает редактор, используемый при редактировании ячейки в этом столбце. |
void |
setCellRenderer(TableCellRenderer cellRenderer) Устанавливает |
void |
setHeaderRenderer(TableCellRenderer headerRenderer) Устанавливает |
void |
setHeaderValue(Object headerValue) Устанавливает |
void |
setIdentifier(Object identifier) Устанавливает идентификатор |
void |
setMaxWidth(int maxWidth) Устанавливает максимальную ширину |
void |
setMinWidth(int minWidth) Устанавливает минимальную ширину |
void |
setModelIndex(int modelIndex) Устанавливает индекс модели для этого столбца. |
void |
setPreferredWidth(int preferredWidth) Устанавливает предпочтительную ширину этого столбца в |
void |
setResizable(boolean isResizable) Устанавливает возможность изменения размера этого столбца. |
void |
setWidth(int width) Этот метод не должен использоваться для установки ширины столбцов в |
void |
sizeWidthToFit() Изменяет размер |
Методы, унаследованные от класса 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.
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
Если true, пользователь может изменять размер столбца; значение по умолчанию — true.
resizedPostingDisableCount
@Deprecated protected transient int resizedPostingDisableCount
Устаревшее. с платформы Java 2 версии v1.3
Это поле не использовалось в предыдущих версиях, и в настоящее время нет планов по его поддержке в будущем.
Конструкторы
TableColumn
public TableColumn()
Метод-обёртка, использующий индекс модели по умолчанию 0, ширину по умолчанию 75, null отрисовщик и null редактор. Этот метод предназначен для сериализации.
TableColumn
public TableColumn(int modelIndex)
Метод-обёртка, использующий ширину по умолчанию 75, null отрисовщик и null редактор.
TableColumn
public TableColumn(int modelIndex,
int width) Метод-обёртка, использующий null отрисовщик и null редактор.
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
public void setModelIndex(int modelIndex)
Устанавливает индекс модели для этого столбца. Индекс модели — это индекс столбца в модели, который будет отображаться этим TableColumn. При перемещении TableColumn в представлении индекс модели остаётся неизменным.
- Параметры:
-
modelIndex- новый индекс modelIndex
getModelIndex
public int getModelIndex()
Возвращает индекс модели для этого столбца.
- Возвращает:
- свойство
modelIndex
setIdentifier
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
public void setHeaderValue(Object headerValue)
Устанавливает Object, строковое представление которого используется в качестве значения для headerRenderer. При создании TableColumn, значение по умолчанию для headerValue равно null.
- Параметры:
-
headerValue- новое значение headerValue - См. также:
getHeaderValue()
getHeaderValue
public Object getHeaderValue()
Возвращает Object используемое в качестве значения для отрисовщика заголовка.
- Возвращает:
- свойство
headerValue - См. также:
setHeaderValue(java.lang.Object)
setHeaderRenderer
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
public void setCellRenderer(TableCellRenderer cellRenderer)
Устанавливает TableCellRenderer используемый JTable для отрисовки отдельных значений для этого столбца.
- Параметры:
-
cellRenderer- новый cellRenderer - См. также:
getCellRenderer()
getCellRenderer
public TableCellRenderer getCellRenderer()
Возвращает TableCellRenderer используемый JTable для отрисовки значений для этого столбца. Отрисовщик столбца не только управляет визуальным представлением столбца, но также используется для интерпретации объекта значения, предоставленного TableModel. Если cellRenderer равен null, JTable использует отрисовщик по умолчанию, основанный на классе ячеек в этом столбце. Значение по умолчанию для cellRenderer — null.
- Возвращает:
- свойство
cellRenderer - См. также:
-
setCellRenderer(javax.swing.table.TableCellRenderer),JTable.setDefaultRenderer(java.lang.Class<?>, javax.swing.table.TableCellRenderer)
setCellEditor
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
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
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
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
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
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 платформы v1.3
Это поле не использовалось в предыдущих версиях, и в настоящее время нет планов по его поддержке в будущем.
enableResizedPosting
@Deprecated public void enableResizedPosting()
Устарело. начиная с Java 2 платформы v1.3
Это поле не использовалось в предыдущих версиях, и в настоящее время нет планов по его поддержке в будущем.
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
Добавляет PropertyChangeListener в список слушателей. Слушатель регистрируется для всех свойств.
PropertyChangeEvent будет сгенерирован в ответ на явное обращение к setFont, setBackground, или setForeground на текущем компоненте. Обратите внимание, что если текущий компонент наследует свой foreground, background или font от своего контейнера, тогда событие не будет сгенерировано в ответ на изменение наследуемого свойства.
- Параметры:
-
listener- слушатель, который нужно добавить
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 платформы v1.3, этот метод не вызывается конструктором TableColumn. Ранее этот метод использовался TableColumn для создания рендерера заголовка по умолчанию. Начиная с Java 2 платформы 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.