Класс 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.
ширина
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
Это поле не использовалось в предыдущих версиях, и в настоящее время нет планов по его поддержке в будущем.
Конструкторы
TableColumn
public TableColumn()
Метод-обёртка, использующий индекс модели по умолчанию 0, ширину по умолчанию 75, null отрисовщик и null редактор. Этот метод предназначен для сериализации.
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()
Это поле не использовалось в предыдущих выпусках, и в настоящее время нет планов по поддержке его в будущем.
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(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