Module java.desktop
Package javax.swing
Class JTable
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JTable
-
All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,CellEditorListener
,ListSelectionListener
,RowSorterListener
,TableColumnModelListener
,TableModelListener
,Scrollable
JTable用于显示和编辑单元格的常规二维表。
@BeanProperty(preferred=true, description="Whether or not to turn on sorting by default.") public void setAutoCreateRowSorter(boolean autoCreateRowSorter)
指定当表的模型发生更改时,是否应该为表创建行排序器。当调用setAutoCreateRowSorter(true)时,将立即创建一个TableRowSorter并将其安装在表上。虽然autoCreateRowSorter属性仍然为真,但是每次模型更改时,都会创建一个新的TableRowSorter并将其设置为表的行排序器。autoCreateRowSorter属性的默认值为false。
public boolean print() throws PrinterException
一个方便的方法,它显示一个打印对话框,然后以打印模式PrintMode.FIT_WIDTH打印这个JTable,没有页眉或页脚文本。打印期间将显示一个带有中止选项的模式进度对话框。
注意:在headless模式(傻瓜模式)下,不显示对话框,并且在默认打印机上进行打印。
@BeanProperty(description="The height in pixels of the cells in <code>row</code>") public void setRowHeight(int row, int rowHeight)
将row的高度设置为rowHeight,重新验证和重新绘制。这一行中单元格的高度将等于行高度减去行边距。
参数:
row——改变高度的那一行
rowHeight——新的行高度,以像素为单位
public TableColumnModel getColumnModel()
返回包含该表所有列信息的TableColumnModel。
@BeanProperty(description="The minimum width of the column.") public void setMinWidth(int minWidth)
将TableColumn的最小宽度设置为minWidth,必要时调整新的最小宽度,以确保0 <= minWidth <= maxWidth。例如,如果minWidth参数为负,则此方法将minWidth属性设置为0。
如果width或preferredWidth属性的值小于新的最小宽度,则此方法将该属性设置为新的最小宽度。
参数:
minWidth——新的最小宽度
@BeanProperty(description="The table\'s RowSorter") public void setRowSorter(RowSorter<? extends TableModel> sorter)
设置RowSorter.RowSorter用于为JTable提供排序和过滤。
此方法清除选择并重置任何可变行高。
此方法在适当时触发PropertyChangeEvent,属性名为“rowSorter”。为了向后兼容,此方法将触发另一个属性名为“sorter”的事件。如果RowSorter的底层模型与此JTable未定义行为的底层模型不同,就会导致这种情况。
参数:
sorter——RowSorter;如果是null则表示关闭排序
public boolean getRowSelectionAllowed()
如果行可以被选取,则返回true。
public boolean getColumnSelectionAllowed()
如果列可以被选取,则返回true
public boolean getCellSelectionEnabled()
如果启用行和列选择模型,则返回true。
等价于getRowSelectionAllowed() &&getColumnSelectionAllowed ()。
返回值:
如果同时启用行和列选择模型,则为真
public void clearSelection()
取消选定所有选定的列和行。
@BeanProperty(visualUpdate=true, description="If true, an entire row is selected for each selected cell.") public void setRowSelectionAllowed(boolean rowSelectionAllowed)
设置是否可以选择此模型中的行。
参数:
rowSelectionAllowed——如果要设置该模型的行为可选的,则这个参数设置为true。
@BeanProperty(bound=false) public int[] getSelectedColumns()
返回所有选定列的索引。
public void addColumn(TableColumn aColumn)
将aColumn追加到此JTable的列模型所持有的列数组的末尾。如果aColumn的列名为null,则将aColumn的列名设置为getModel(). getcolumnname()返回的名称。
public void setDefaultRenderer(Class<?> columnClass, TableCellRenderer renderer)
设置一个默认的单元格渲染器,如果没有在TableColumn中设置渲染器,则使用该渲染器。如果renderer为空,则删除这个列类的默认呈现器。
参数:
columnClass——为这个columnClass设置默认的单元格呈现程序(default cell render)
renderer——此columnClass使用的默认单元格呈现程序
public TableCellRenderer getDefaultRenderer(Class<?> columnClass)
返回单元格呈现程序,当在表列列中没有设置任何呈现程序时,将使用该呈现程序。在单元格呈现期间,根据列中单元格的类从条目的哈希表中获取呈现器。如果这个columnClass没有条目,该方法将返回最特定超类的条目。JTable为Object、Number和Boolean安装条目,所有这些条目都可以修改或替换。
返回值:
这个columnClass的程序器(renderer)