public class JTable extends JComponent implements TableModelListener, Scrollable, TableColumnModelListener, ListSelectionListener, CellEditorListener, Accessible, RowSorterListener
JTable
用于显示和编辑细胞常规二维表。看到
How to Use Tables java教程中的面向任务的应用
JTable
文档和示例。
的JTable
有很多设施,可以自定义它的绘制与编辑,提供了默认的功能,简单的表格可以轻松设置。例如,要设置一个有10行和10列的表:
台式数据=新abstracttablemodel() {public int getcolumncount() { return 10;}public int getrowcount() { return 10;}公共对象getvalueat(行,int型){返回整数(行*列);}};JTable表格=新表格(数据模型);JScrollPane滚动窗格=新JScrollPane(表);
JTable
s通常放在一个JScrollPane
。默认情况下,一个JTable
将调整其宽度,水平滚动条是不必要的。让一个水平滚动条,调用setAutoResizeMode(int)
与AUTO_RESIZE_OFF
。注意,如果你希望在一个独立的视图中使用一个JTable
(一JScrollPane
外)和想要的标题显示,你可以把它用getTableHeader()
和分别显示。
为了使排序和筛选的行,使用RowSorter
。你可以在两种方式设置一排机:
RowSorter
。例如:table.setRowSorter(new TableRowSorter(model))
。true
的autoCreateRowSorter
属性,使JTable
创建一个RowSorter
你。例如:setAutoCreateRowSorter(true)
。在设计应用中使用的JTable
值得密切关注,将代表表的数据结构。是的DefaultTableModel
模型的实现,采用的Vector
s Vector
的Object
s存储单元格的值。以及从一个应用到DefaultTableModel
复制数据,也可以将数据的TableModel
接口的方法,可以将数据传递到JTable
直接,如上面的例子。这往往会导致更有效的应用程序,因为该模型是自由选择最适合的数据的内部表示。决定是否使用AbstractTableModel
或DefaultTableModel
的好的经验法则是使用AbstractTableModel
为基类创建子类和子类DefaultTableModel
时不需要。
在源分布演示区“tableexample”目录给出了一些JTable
使用的完整例子,包括如何JTable
可以从一个数据库中的数据在一个可编辑视图以及如何修改在显示栏使用专门的渲染和编辑。
使用整数的JTable
专门指的是行和列的模型,它显示。的JTable
只用一个表格单元格范围和使用getValueAt(int, int)
检索值从模型中画。重要的是要记住,列和行的指标通过各种JTable
方法返回的是在JTable
条款(的观点),不一定是由模型使用相同的指标。
默认情况下,列可以重新排列在JTable
使视图的列出现在不同的顺序的列中的模型。这根本不影响模型的实现:当列重新排序的列,JTable
维持新秩序并将其列在内部指标的查询模型。
所以,写一TableModel
时,没有必要听列重新排序的事件模型将查询自己的坐标系统,不管是在视图中发生。在案例区有一个示范一个排序算法,利用的正是这一技术的介入另一个坐标系,行顺序的改变,而不是列的顺序。
同样,当使用排序和过滤功能RowSorter
底层TableModel
提供不需要知道如何做排序,而RowSorter
会处理的。坐标转换将使用时与底层的TableModel
基于行的方法JTable
是必要的。所有JTable
s基于行的方法是在RowSorter
而言,这是不一定的,潜在的TableModel
相同。例如,选择总是从JTable
所以当使用RowSorter
你需要转换使用convertRowIndexToView
或convertRowIndexToModel
。下面显示了如何将坐标从JTable
,底层模型:
int [] = getselectedrows()选择表;为(int i = 0;i < selection.length;i++){选择[我] =表。convertrowindextomodel(选择[我]);}//选择现在在底层的台式条款
默认情况下,如果启用排序JTable
会坚持在模型中的变量的行高选择排序。例如,如果行0,在下面的模型中,当前被选中,在排序行0之后,在下面的模型将被选中。在视觉上的选择可能会改变,但在基本模型方面,它将保持不变。这是一个例外,如果模型索引不再可见或被删除。例如,如果在模型中的0行被过滤掉,选择将是空的排序。
J2SE 5添加方法JTable
提供方便的访问一些常见的打印需求。简单的新print()
方法允许快速和容易的添加打印支持您的应用程序。此外,一个新的getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)
方法可用于更先进的印刷需求。
对于所有JComponent
类,你可以使用InputMap
和ActionMap
关联一个Action
对象与KeyStroke
和执行在特定条件下的作用。
警告: Swing是线程不安全的。更多信息见Swing's Threading Policy。
警告:序列化该类的对象与以后的Swing版本不兼容。当前的序列化支持适用于短期贮藏或RMI运行相同Swing版本的应用程序之间。为1.4,为所有JavaBeans™长期存储的支持已被添加到java.beans
包。请看XMLEncoder
。
DefaultTableModel
,
TableRowSorter
Modifier and Type | Class and Description |
---|---|
protected class |
JTable.AccessibleJTable
这个类实现了对
JTable 类可访问性支持。
|
static class |
JTable.DropLocation
对
TransferHandler.DropLocation 表示一个
JTable 下降位置的子类。
|
static class |
JTable.PrintMode
打印模式,用于印刷
JTable s。
|
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
static int |
AUTO_RESIZE_ALL_COLUMNS
所有的调整大小的操作过程中,按比例调整所有列。
|
static int |
AUTO_RESIZE_LAST_COLUMN
在所有调整操作的过程中,仅适用于最后一列的调整。
|
static int |
AUTO_RESIZE_NEXT_COLUMN
当一列在用户界面中调整,调整下一列相反的方式。
|
static int |
AUTO_RESIZE_OFF
不自动调整列宽;使用水平滚动条代替。
|
static int |
AUTO_RESIZE_SUBSEQUENT_COLUMNS
在用户界面调整过程中,更改后续列以保持总宽度;这是默认行为。
|
protected boolean |
autoCreateColumnsFromModel
该表将查询
TableModel 如果真正建立列的默认。
|
protected int |
autoResizeMode
确定表格自动调整表格的列的宽度以表的整个宽度,以及它如何调整大小。
|
protected TableCellEditor |
cellEditor
活动单元格的编辑对象,覆盖屏幕房地产当前单元格占据并允许用户更改其内容。
|
protected boolean |
cellSelectionEnabled
过时的java 2平台V1.3。
|
protected TableColumnModel |
columnModel
桌子的
TableColumnModel 。
|
protected TableModel |
dataModel
桌子的
TableModel 。
|
protected Hashtable |
defaultEditorsByColumnClass
一个表对象的显示和编辑一个单元格的内容,按类
getColumnClass 宣布在
TableModel 接口。
|
protected Hashtable |
defaultRenderersByColumnClass
一个表对象显示的单元格的内容,按类
getColumnClass 宣布在
TableModel 接口。
|
protected int |
editingColumn
标识正在编辑的单元格的列。
|
protected int |
editingRow
标识正在编辑的单元格的行。
|
protected Component |
editorComp
如果编辑的
Component ,处理编辑。
|
protected Color |
gridColor
网格的颜色。
|
protected Dimension |
preferredViewportSize
通过确定初始可见区的
Scrollable 接口应用。
|
protected int |
rowHeight
在表中的每一行的像素的高度。
|
protected int |
rowMargin
在每个行中的单元格之间的边缘的像素的高度。
|
protected boolean |
rowSelectionAllowed
如果在该表中允许行选择,则为。
|
protected Color |
selectionBackground
选定单元格的背景颜色。
|
protected Color |
selectionForeground
选定单元格的前景颜色。
|
protected ListSelectionModel |
selectionModel
桌子的
ListSelectionModel ,用来记录行的选择。
|
protected boolean |
showHorizontalLines
桌子上画水平线,如果
showHorizontalLines 细胞之间是真的。
|
protected boolean |
showVerticalLines
表格绘制细胞之间的垂直线如果
showVerticalLines 是真实的。
|
protected JTableHeader |
tableHeader
的
TableHeader 与工作台。
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
JTable()
构建了一个默认的
JTable 是默认的数据模型进行初始化,默认列模型,和一个默认的选择模型。
|
JTable(int numRows, int numColumns)
构建了一个
numRows 和使用
DefaultTableModel 空细胞
numColumns
JTable 。
|
JTable(Object[][] rowData, Object[] columnNames)
构建了一个
JTable 在二维数组,
rowData 显示值,列名,
columnNames 。
|
JTable(TableModel dm)
构建了一个
JTable 是
dm 作为数据模型初始化,默认列模型,和一个默认的选择模型。
|
JTable(TableModel dm, TableColumnModel cm)
构建了一个
JTable 是
dm 作为数据模型的初始化,
cm 为柱模型,和一个默认的选择模型。
|
JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm)
构建了一个
JTable 是
dm 作为数据模型的初始化,
cm 为柱模型,并
sm 作为选择模型。
|
JTable(Vector rowData, Vector columnNames)
构建了一个
JTable 在
Vectors ,
rowData 的
Vector 显示值,列名,
columnNames 。
|
Modifier and Type | Method and Description |
---|---|
void |
addColumn(TableColumn aColumn)
追加
aColumn 对由这
JTable 柱模型举行列数组的结束。
|
void |
addColumnSelectionInterval(int index0, int index1)
添加列
index0 到
index1 ,包容,对当前的选择。
|
void |
addNotify()
configureEnclosingScrollPane 方法调用。
|
void |
addRowSelectionInterval(int index0, int index1)
还从
index0 行
index1 ,包容,对当前的选择。
|
void |
changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend)
更新表的选择模型,根据这两个标志的状态:
toggle 和
extend 。
|
void |
clearSelection()
将所有选定的行和列。
|
void |
columnAdded(TableColumnModelEvent e)
当在表列模型中添加一个列时调用。
|
int |
columnAtPoint(Point point)
返回列,
point 在于指数,或1如果结果不在这个范围
getColumnCount() -1 [ 0 ]。
|
void |
columnMarginChanged(ChangeEvent e)
当列被移动由于边缘更改时调用。
|
void |
columnMoved(TableColumnModelEvent e)
当调用一个栏目的重新定位。
|
void |
columnRemoved(TableColumnModelEvent e)
当从表列模型中删除列时调用。
|
void |
columnSelectionChanged(ListSelectionEvent e)
当调用的
TableColumnModel 选择模型的改变。
|
protected void |
configureEnclosingScrollPane()
如果这是一个封闭的
JTable
JScrollPane
viewportView (通常情况下),这
ScrollPane 配置,除其他事项外,安装表的
tableHeader 作为滚动窗格的
columnHeaderView 。
|
int |
convertColumnIndexToModel(int viewColumnIndex)
Map视图中的列在
viewColumnIndex 到表中的列的索引模型。
|
int |
convertColumnIndexToView(int modelColumnIndex)
图中的列表模型在
modelColumnIndex 到视图中的列的索引。
|
int |
convertRowIndexToModel(int viewRowIndex)
Map在视图的行的索引的基础
TableModel 。
|
int |
convertRowIndexToView(int modelRowIndex)
图中的
TableModel 条款的行的索引的视图。
|
protected TableColumnModel |
createDefaultColumnModel()
返回默认列模型对象,这是一个
DefaultTableColumnModel 。
|
void |
createDefaultColumnsFromModel()
创建表的默认列从数据模型中使用的
TableModel 接口中定义的方法的
getColumnCount 。
|
protected TableModel |
createDefaultDataModel()
返回默认表格对象模型,这是一个
DefaultTableModel 。
|
protected void |
createDefaultEditors()
为对象、数字和布尔值创建默认单元格编辑器。
|
protected void |
createDefaultRenderers()
创建对象,默认的渲染器数量、双打、日期、布尔值和图标。
|
protected ListSelectionModel |
createDefaultSelectionModel()
返回默认选择模型对象,这是一个
DefaultListSelectionModel 。
|
protected JTableHeader |
createDefaultTableHeader()
返回默认表头的对象,这是一个
JTableHeader 。
|
static JScrollPane |
createScrollPaneForTable(JTable aTable)
过时的。
作为摇摆版本1.0.2,取而代之的
new JScrollPane(aTable) 。
|
void |
doLayout()
使此表放置它的行和列。
|
boolean |
editCellAt(int row, int column)
以编程方式开始在
row 和
column 编辑单元格,如果这些指数在有效范围内,在这些指标的细胞是可编辑的。
|
boolean |
editCellAt(int row, int column, EventObject e)
以编程方式开始在
row 和
column 编辑单元格,如果这些指数在有效范围内,在这些指标的细胞是可编辑的。
|
void |
editingCanceled(ChangeEvent e)
当取消编辑时调用。
|
void |
editingStopped(ChangeEvent e)
当编辑完成时调用。
|
AccessibleContext |
getAccessibleContext()
获取与此相关的accessiblecontext JTable。
|
boolean |
getAutoCreateColumnsFromModel()
确定表是否将从模型中创建默认列。
|
boolean |
getAutoCreateRowSorter()
返回
true 如果当模型发生变化,一个新的
RowSorter 应该创建和安装表的排序;否则,返回
false 。
|
int |
getAutoResizeMode()
返回表的自动调整模式。
|
TableCellEditor |
getCellEditor()
活动单元格编辑器的回报,这是
null 如果表是目前编辑。
|
TableCellEditor |
getCellEditor(int row, int column)
通过
row 和
column 指定细胞适当的编辑器返回。
|
Rectangle |
getCellRect(int row, int column, boolean includeSpacing)
返回一个处于
row 和
column 相交处的单元矩形。
|
TableCellRenderer |
getCellRenderer(int row, int column)
返回指定的行和列的细胞适当的渲染。
|
boolean |
getCellSelectionEnabled()
如果启用了两行和列选择模型,则返回真。
|
TableColumn |
getColumn(Object identifier)
返回
TableColumn 对象表中的列的标识符等于
identifier ,相比使用
equals 。
|
类<?> |
getColumnClass(int column)
返回在列的位置
column 视图中出现的列的类型。
|
int |
getColumnCount()
返回列模型中的列数。
|
TableColumnModel |
getColumnModel()
返回包含该表的所有列信息
TableColumnModel 。
|
String |
getColumnName(int column)
返回在柱位置出现
column 视图中的列的名称。
|
boolean |
getColumnSelectionAllowed()
如果可以选择列,则返回真正的。
|
TableCellEditor |
getDefaultEditor(类<?> columnClass)
返回编辑器用于编辑时没有被设置在一个
TableColumn 。
|
TableCellRenderer |
getDefaultRenderer(类<?> columnClass)
返回单元格渲染器时要使用没有渲染已定在
TableColumn 。
|
boolean |
getDragEnabled()
返回是否启用自动拖动处理。
|
JTable.DropLocation |
getDropLocation()
返回的位置,这个组件应该在视觉上显示为下降位置DND操作期间在组件,或
null 如果没有定位是目前被证明。
|
DropMode |
getDropMode()
返回此组件的下拉模式。
|
int |
getEditingColumn()
返回包含当前正在编辑的单元格的列的索引。
|
int |
getEditingRow()
返回包含当前正在编辑的单元格的行的索引。
|
Component |
getEditorComponent()
返回处理编辑会话的组件。
|
boolean |
getFillsViewportHeight()
返回是否这个表总是足以填补封闭视口的高度。
|
Color |
getGridColor()
返回用于绘制网格线的颜色。
|
Dimension |
getIntercellSpacing()
返回单元格之间的水平和垂直空间。
|
TableModel |
getModel()
返回
TableModel 提供数据显示这
JTable 。
|
Dimension |
getPreferredScrollableViewportSize()
返回此表的视图的首选尺寸。
|
Printable |
getPrintable(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat)
返回一个用于印刷这个JTable
Printable 。
|
int |
getRowCount()
还可以在
JTable 显示行数,给予无限的空间。
|
int |
getRowHeight()
返回一个表行的高度,以像素为单位。
|
int |
getRowHeight(int row)
返回的高度,以像素为单位,在
row 细胞。
|
int |
getRowMargin()
获取单元格之间的空白空间的数量。
|
boolean |
getRowSelectionAllowed()
如果可以选择行,则返回真行。
|
RowSorter<? extends TableModel> |
getRowSorter()
返回负责排序的对象。
|
int |
getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
返回
visibleRect.height 或
visibleRect.width ,根据此表的方向。
|
boolean |
getScrollableTracksViewportHeight()
返回
false 表示视口的高度不确定表的高度,除非
getFillsViewportHeight 是
true 和表的首选高度小于视口的高度。
|
boolean |
getScrollableTracksViewportWidth()
如果
autoResizeMode 设置
AUTO_RESIZE_OFF 返回false,说明视口的宽度不确定表格的宽度。
|
int |
getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
返回完全公开的一个新的行或列(取决于方向)的滚动增量(像素)。
|
int |
getSelectedColumn()
返回第一个选定列的索引,如果没有选择列,则- 1。
|
int |
getSelectedColumnCount()
返回选定列的数目。
|
int[] |
getSelectedColumns()
返回所有选定列的索引。
|
int |
getSelectedRow()
返回第一选择行的索引,如果没有选择行,则为1。
|
int |
getSelectedRowCount()
返回选定行的数量。
|
int[] |
getSelectedRows()
返回所有选定行的索引。
|
Color |
getSelectionBackground()
返回选定单元格的背景颜色。
|
Color |
getSelectionForeground()
返回选定单元格的前景色。
|
ListSelectionModel |
getSelectionModel()
返回
ListSelectionModel 是用来保持行选择状态。
|
boolean |
getShowHorizontalLines()
如果表格绘制单元格之间的水平线,则返回真,如果它不这样做的话。
|
boolean |
getShowVerticalLines()
如果表格绘制单元格之间的垂直线,则返回真,如果它不这样做的话。
|
boolean |
getSurrendersFocusOnKeystroke()
如果编辑应该获得焦点时,按键导致编辑器被激活,返回true
|
JTableHeader |
getTableHeader()
返回的
JTable 用
tableHeader 。
|
String |
getToolTipText(MouseEvent event)
JComponent
getToolTipText 重写的方法为了让渲染器的窍门,如果有文本设置。
|
TableUI |
getUI()
返回呈现此组件的L和F对象。
|
String |
getUIClassID()
返回用于构建用于渲染此组件的“L”类的名称的后缀。
|
boolean |
getUpdateSelectionOnSort()
如果选择应在排序后更新,则返回真。
|
Object |
getValueAt(int row, int column)
返回
row 和
column 单元格的值。
|
protected void |
initializeLocalVars()
初始化表属性为默认值。
|
boolean |
isCellEditable(int row, int column)
返回true如果在
row 和
column 细胞编辑。
|
boolean |
isCellSelected(int row, int column)
如果指定的索引在行和列的有效范围内,并选择指定位置的单元格,则返回真。
|
boolean |
isColumnSelected(int column)
如果指定的索引在有效范围内,则返回真实的列,并选择该索引中的列。
|
boolean |
isEditing()
如果正在编辑单元格,则返回真。
|
boolean |
isRowSelected(int row)
如果指定的索引在行的有效范围内,则返回真行,并选择该索引处的行。
|
void |
moveColumn(int column, int targetColumn)
将柱
column 目前通过视图中的列
targetColumn 占据的位置。
|
protected String |
paramString()
返回此表的字符串表示形式。
|
Component |
prepareEditor(TableCellEditor editor, int row, int column)
准备编辑查询数据模型的价值和选择在
row 细胞状态,
column 。
|
Component |
prepareRenderer(TableCellRenderer renderer, int row, int column)
准备渲染器通过查询数据模型的价值和选择在
row 细胞状态,
column 。
|
boolean |
print()
一个方便的方法,显示打印对话框,然后打印这
JTable 模式
PrintMode.FIT_WIDTH ,没有页眉或页脚文本。
|
boolean |
print(JTable.PrintMode printMode)
一个方便的方法,显示打印对话框,然后打印这
JTable 在给定的打印模式,没有页眉或页脚文本。
|
boolean |
print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat)
一个方便的方法,显示打印对话框,然后打印这
JTable 在给定的打印模式,与指定页眉和页脚文本。
|
boolean |
print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive)
打印此表,以全面的
print 方法指定默认打印机,与指定的打印服务。
|
boolean |
print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive, PrintService service)
这
JTable 版画。
|
protected boolean |
processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)
调用过程的关键
ks 绑定的
KeyEvent
e 结果。
|
void |
removeColumn(TableColumn aColumn)
除去这
JTable 列的阵列
aColumn 。
|
void |
removeColumnSelectionInterval(int index0, int index1)
将列从
index0 到
index1 ,包容。
|
void |
removeEditor()
丢弃编辑对象并释放它用于细胞渲染房地产。
|
void |
removeNotify()
unconfigureEnclosingScrollPane 方法调用。
|
void |
removeRowSelectionInterval(int index0, int index1)
取消选择该行从
index0 到
index1 ,包容。
|
protected void |
resizeAndRepaint()
相当于
revalidate 随后
repaint 。
|
int |
rowAtPoint(Point point)
返回的行的索引,
point 在于,或1如果结果不在这个范围
getRowCount() -1 [ 0 ]。
|
void |
selectAll()
选择表中的所有行、列和单元格。
|
void |
setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)
设置此表的
autoCreateColumnsFromModel 旗。
|
void |
setAutoCreateRowSorter(boolean autoCreateRowSorter)
指定是否
RowSorter 应为表创建时,其模型的变化。
|
void |
setAutoResizeMode(int mode)
设置表格的自动调整大小模式时,表的大小。
|
void |
setCellEditor(TableCellEditor anEditor)
设置活动单元格编辑器。
|
void |
setCellSelectionEnabled(boolean cellSelectionEnabled)
设置此表是否允许同时存在列选择和行选择。
|
void |
setColumnModel(TableColumnModel columnModel)
设置列模型,此表
newModel 和寄存器从新列模型监听器通知。
|
void |
setColumnSelectionAllowed(boolean columnSelectionAllowed)
设置此模型中的列是否可以选择。
|
void |
setColumnSelectionInterval(int index0, int index1)
从
index0 到
index1 选择列,包容。
|
void |
setDefaultEditor(类<?> columnClass, TableCellEditor editor)
设置一个默认的单元格编辑器是如果没有编辑已设定在一个
TableColumn 使用。
|
void |
setDefaultRenderer(类<?> columnClass, TableCellRenderer renderer)
如果没有设置渲染器被设置在一个
TableColumn 使用默认单元格渲染器。
|
void |
setDragEnabled(boolean b)
打开或关闭自动拖动处理。
|
void |
setDropMode(DropMode dropMode)
设置此组件的下拉模式。
|
void |
setEditingColumn(int aColumn)
集
editingColumn 变量。
|
void |
setEditingRow(int aRow)
集
editingRow 变量。
|
void |
setFillsViewportHeight(boolean fillsViewportHeight)
设置是否这个表总是足以填补封闭视口的高度。
|
void |
setGridColor(Color gridColor)
设置用于绘制网格线的颜色和显示
gridColor 。
|
void |
setIntercellSpacing(Dimension intercellSpacing)
集
rowMargin 和
columnMargin ——高度和宽度的细胞间隙,
intercellSpacing 。
|
void |
setModel(TableModel dataModel)
设置此表
newModel 和寄存器的数据模型,它从新的数据模型监听器通知。
|
void |
setPreferredScrollableViewportSize(Dimension size)
设置该表的视图的首选尺寸。
|
void |
setRowHeight(int rowHeight)
以像素为单位的高度,集,所有细胞
rowHeight ,重新验证,并重画。
|
void |
setRowHeight(int row, int rowHeight)
设置
row 到
rowHeight ,重新验证的高度,并重画。
|
void |
setRowMargin(int rowMargin)
设置相邻行中单元格之间的空白空间的数量。
|
void |
setRowSelectionAllowed(boolean rowSelectionAllowed)
设置该模型中的行是否可以选择。
|
void |
setRowSelectionInterval(int index0, int index1)
选择从
index0 到
index1 行,包容。
|
void |
setRowSorter(RowSorter<? extends TableModel> sorter)
集
RowSorter 。
|
void |
setSelectionBackground(Color selectionBackground)
设置选定单元格的背景颜色。
|
void |
setSelectionForeground(Color selectionForeground)
设置选定单元格的前景色。
|
void |
setSelectionMode(int selectionMode)
设置表的选择模式,只允许单一的选择,一个单一的连续的间隔,或多个间隔。
|
void |
setSelectionModel(ListSelectionModel newModel)
设置行的选择模型,这表
newModel 和寄存器从新选择模型监听器通知。
|
void |
setShowGrid(boolean showGrid)
设置表格是否绘制单元格周围的网格线。
|
void |
setShowHorizontalLines(boolean showHorizontalLines)
设置表格是否绘制单元格之间的水平线。
|
void |
setShowVerticalLines(boolean showVerticalLines)
设置表格是否绘制单元格之间的垂直线。
|
void |
setSurrendersFocusOnKeystroke(boolean surrendersFocusOnKeystroke)
设置是否在JTable编辑获得键盘焦点时,一位编辑由于JTable转发一个细胞激活键盘事件。
|
void |
setTableHeader(JTableHeader tableHeader)
集
tableHeader 工作与此
JTable 到
newHeader 。
|
void |
setUI(TableUI ui)
集L和F的对象,使得组件和重画。
|
void |
setUpdateSelectionOnSort(boolean update)
指定排序后是否应更新选择。
|
void |
setValueAt(Object aValue, int row, int column)
设置在
row 和
column 表格模型的单元格的值。
|
void |
sizeColumnsToFit(boolean lastColumnOnly)
过时的。
作为摇摆版本1.0.3,取而代之的
doLayout() 。
|
void |
sizeColumnsToFit(int resizingColumn)
过时的java 2平台V1.4。
|
void |
sorterChanged(RowSorterEvent e)
RowSorterListener 通知,
RowSorter 已经以某种方式改变。
|
void |
tableChanged(TableModelEvent e)
当调用此表的
TableModel 产生
TableModelEvent 。
|
protected void |
unconfigureEnclosingScrollPane()
逆转的效果
configureEnclosingScrollPane 更换封闭与
null 滚动窗格的
columnHeaderView 。
|
void |
updateUI()
从
UIManager ,L和F改变通知。
|
void |
valueChanged(ListSelectionEvent e)
当调用该行选择改变--重画显示新的选择。
|
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public static final int AUTO_RESIZE_OFF
public static final int AUTO_RESIZE_NEXT_COLUMN
public static final int AUTO_RESIZE_SUBSEQUENT_COLUMNS
public static final int AUTO_RESIZE_LAST_COLUMN
public static final int AUTO_RESIZE_ALL_COLUMNS
protected TableModel dataModel
TableModel
。
protected TableColumnModel columnModel
TableColumnModel
。
protected ListSelectionModel selectionModel
ListSelectionModel
,用来记录行的选择。
protected JTableHeader tableHeader
TableHeader
与工作台。
protected int rowHeight
protected int rowMargin
protected Color gridColor
protected boolean showHorizontalLines
showHorizontalLines
细胞之间是真的。
protected boolean showVerticalLines
showVerticalLines
是真实的。
protected int autoResizeMode
protected boolean autoCreateColumnsFromModel
TableModel
如果真正建立列的默认。
protected Dimension preferredViewportSize
Scrollable
接口确定初始可见区的应用。
protected boolean rowSelectionAllowed
protected boolean cellSelectionEnabled
rowSelectionAllowed
财产的
columnModel
的
columnSelectionAllowed
属性。或者使用方法
getCellSelectionEnabled
。
protected transient Component editorComp
Component
,处理编辑。
protected transient TableCellEditor cellEditor
null
如果表格不是当前编辑。
protected transient int editingColumn
protected transient int editingRow
protected transient Hashtable defaultRenderersByColumnClass
getColumnClass
宣布在
TableModel
接口。
protected transient Hashtable defaultEditorsByColumnClass
getColumnClass
宣布在
TableModel
接口。
protected Color selectionForeground
protected Color selectionBackground
public JTable()
JTable
是默认的数据模型进行初始化,默认列模型,和一个默认的选择模型。
public JTable(TableModel dm)
JTable
是
dm
作为数据模型初始化,默认列模型,和一个默认的选择模型。
dm
为表数据模型
createDefaultColumnModel()
,
createDefaultSelectionModel()
public JTable(TableModel dm, TableColumnModel cm)
JTable
,初始化为
dm
作为数据模型,
cm
为柱模型,和一个默认的选择模型。
dm
为表数据模型
cm
为表列模型
createDefaultSelectionModel()
public JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm)
JTable
是
dm
作为数据模型的初始化,
cm
为柱模型,并
sm
作为选择模型。如果任何参数
null
这种方法将初始化与相应的违约模型表。的
autoCreateColumnsFromModel
标志如果
cm
非空设置为false,否则设置为true,填充柱模型在
dm
列适合
TableColumns
。
dm
为表数据模型
cm
为表列模型
sm
为表的行选择模型
createDefaultDataModel()
,
createDefaultColumnModel()
,
createDefaultSelectionModel()
public JTable(int numRows, int numColumns)
numRows
和使用
DefaultTableModel
空细胞
numColumns
JTable
。列将有“A”、“B”、“C”等的名称。
numRows
-表格的行数是
numColumns
-列的表的数目是
DefaultTableModel
public JTable(Vector rowData, Vector columnNames)
JTable
在
Vectors
,
rowData
的
Vector
显示值,列名,
columnNames
。包含在
rowData
的
Vectors
应该包含该行的值。换句话说,在1行的单元格的值,5列可以用下面的代码:
((矢量)rowData。元素在(1)(5)元素在);
rowData
-新表的数据
columnNames
-每列的名字
public void addNotify()
configureEnclosingScrollPane
方法调用。
addNotify
方法重写,继承类
JComponent
configureEnclosingScrollPane()
protected void configureEnclosingScrollPane()
JTable
JScrollPane
viewportView
(通常情况下),这
ScrollPane
配置,除其他事项外,安装表的
tableHeader
作为滚动窗格的
columnHeaderView
。当一个
JTable
加到在通常的方式,一
JScrollPane
使用
new JScrollPane(myTable)
,
addNotify
在
JTable
叫(当表添加到视图)。反过来
JTable
的
addNotify
方法调用此方法,这是保护,这个默认的安装程序可以通过子类重写。
addNotify()
public void removeNotify()
unconfigureEnclosingScrollPane
方法调用。
removeNotify
方法重写,继承类
JComponent
unconfigureEnclosingScrollPane()
protected void unconfigureEnclosingScrollPane()
configureEnclosingScrollPane
更换封闭与
null
滚动窗格的
columnHeaderView
。
JTable
的
removeNotify
方法调用此方法,这是保护,这个默认的卸载程序可以通过子类重写。
removeNotify()
,
configureEnclosingScrollPane()
@Deprecated public static JScrollPane createScrollPaneForTable(JTable aTable)
new JScrollPane(aTable)
。
new JScrollPane(aTable)
。
public void setTableHeader(JTableHeader tableHeader)
tableHeader
工作与此
JTable
到
newHeader
。它有一个
null
tableHeader
是合法的。
tableHeader
新tableheader
getTableHeader()
public JTableHeader getTableHeader()
JTable
用
tableHeader
。
tableHeader
setTableHeader(javax.swing.table.JTableHeader)
public void setRowHeight(int rowHeight)
rowHeight
,重新验证,并重画。单元格的高度将等于行的高度减去行边缘。
rowHeight
-新的行高
IllegalArgumentException
-如果
rowHeight
小于1
getRowHeight()
public int getRowHeight()
setRowHeight(int)
public void setRowHeight(int row, int rowHeight)
row
到
rowHeight
,重新验证的高度,并重画。在这行中的单元格的高度将等于行的高度减去行边缘。
row
-行的高度被改变
rowHeight
-新的行的高度,以像素为单位
IllegalArgumentException
-如果
rowHeight
小于1
public int getRowHeight(int row)
row
细胞。
row
-行的高度是要归还
public void setRowMargin(int rowMargin)
rowMargin
-在一排像素间的细胞数
getRowMargin()
public int getRowMargin()
getIntercellSpacing().height
。
setRowMargin(int)
public void setIntercellSpacing(Dimension intercellSpacing)
rowMargin
和
columnMargin
——高度和宽度的细胞间隙,
intercellSpacing
。
intercellSpacing
-
Dimension
指定细胞之间新的宽度和高度
getIntercellSpacing()
public Dimension getIntercellSpacing()
setIntercellSpacing(java.awt.Dimension)
public void setGridColor(Color gridColor)
gridColor
。默认颜色是外观和感觉依赖。
gridColor
-网格线的颜色
null
gridColor
IllegalArgumentException
getGridColor()
public Color getGridColor()
setGridColor(java.awt.Color)
public void setShowGrid(boolean showGrid)
showGrid
是真实的它;如果它是假的,它不会没有
getShowGrid
方法作为本文的状态在两个变量
showHorizontalLines
和
showVerticalLines
举行--每一个都可以独立查询。
showGrid
-如果表格视图应画网格线
setShowVerticalLines(boolean)
,
setShowHorizontalLines(boolean)
public void setShowHorizontalLines(boolean showHorizontalLines)
showHorizontalLines
是真实的它;如果它是假的不行。
showHorizontalLines
-如果表格视图应画水平线
getShowHorizontalLines()
,
setShowGrid(boolean)
,
setShowVerticalLines(boolean)
public void setShowVerticalLines(boolean showVerticalLines)
showVerticalLines
是真实的它;如果它是假的不行。
showVerticalLines
-如果表格视图应画垂直线
getShowVerticalLines()
,
setShowGrid(boolean)
,
setShowHorizontalLines(boolean)
public boolean getShowHorizontalLines()
setShowHorizontalLines(boolean)
public boolean getShowVerticalLines()
setShowVerticalLines(boolean)
public void setAutoResizeMode(int mode)
doLayout()
。
mode
-一个5年的法律价值:auto_resize_off,auto_resize_next_column,auto_resize_subsequent_columns,auto_resize_last_column,auto_resize_all_columns
getAutoResizeMode()
,
doLayout()
public int getAutoResizeMode()
setAutoResizeMode(int)
,
doLayout()
public void setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)
autoCreateColumnsFromModel
旗。此方法调用
createDefaultColumnsFromModel
如果
autoCreateColumnsFromModel
变化假为真。
autoCreateColumnsFromModel
-如果
JTable
应该自动创建列
getAutoCreateColumnsFromModel()
,
createDefaultColumnsFromModel()
public boolean getAutoCreateColumnsFromModel()
setModel
将清除任何现有的柱和新模式的创建新列。另外,如果在
tableChanged
通知事件指定整个表的改变,然后列将重建。默认是真的。
setAutoCreateColumnsFromModel(boolean)
,
createDefaultColumnsFromModel()
public void createDefaultColumnsFromModel()
TableModel
接口中定义的方法的
getColumnCount
。
清除任何现有的列,在创建基于模型的信息的新列之前。
public void setDefaultRenderer(类<?> columnClass, TableCellRenderer renderer)
TableColumn
使用默认单元格渲染器。如果渲染器是
null
,删除此列类的默认渲染器。
columnClass
-设置此columnclass的默认单元格渲染器
renderer
-默认单元格渲染器被用于这columnclass
getDefaultRenderer(java.lang.Class<?>)
,
setDefaultEditor(java.lang.Class<?>, javax.swing.table.TableCellEditor)
public TableCellRenderer getDefaultRenderer(类<?> columnClass)
TableColumn
。在绘制细胞的渲染是牵强的
Hashtable
条目根据细胞的类在列。如果没有进入这个
columnClass
方法返回的最具体的超类的条目。这项
JTable
安装
Object
,
Number
,和
Boolean
,所有这一切都可以被修改或更换。
columnClass
-返回这columnclass的默认单元格渲染器
setDefaultRenderer(java.lang.Class<?>, javax.swing.table.TableCellRenderer)
,
getColumnClass(int)
public void setDefaultEditor(类<?> columnClass, TableCellEditor editor)
TableColumn
使用。如果没有编辑表中的要求,或一个特定的列在表中,使用
isCellEditable
方法在
TableModel
接口来确保这
JTable
不会在这些栏目开始编辑。如果是
null
编辑,删除此列类的默认编辑器。
columnClass
-设置此columnclass默认单元格编辑器
editor
默认单元格编辑器是用于这一columnclass
TableModel.isCellEditable(int, int)
,
getDefaultEditor(java.lang.Class<?>)
,
setDefaultRenderer(java.lang.Class<?>, javax.swing.table.TableCellRenderer)
public TableCellEditor getDefaultEditor(类<?> columnClass)
TableColumn
。在编辑编辑取细胞从
Hashtable
条目根据细胞的类在列。如果没有进入这个
columnClass
方法返回的最具体的超类的条目。这项
JTable
安装
Object
,
Number
,和
Boolean
,所有这一切都可以被修改或更换。
columnClass
-返回这columnclass默认单元格编辑器
setDefaultEditor(java.lang.Class<?>, javax.swing.table.TableCellEditor)
,
getColumnClass(int)
public void setDragEnabled(boolean b)
true
,和表的
TransferHandler
需要
non-null
。该
dragEnabled
属性的默认值是
false
。
履行这一性质的工作,并识别用户拖动手势,在外观和感觉的实现,特别是表的TableUI
。当启用自动拖动处理,大多数的外观和感觉(包括那些类BasicLookAndFeel
)开始拖放操作时,用户按下鼠标按钮上项目(单一选择模式)或选择(其他选择模式)然后将鼠标移动几个像素。将此属性设置为true
因此可以有选择的行为有潜移默化的影响。
如果一个外观和感觉的应用,忽略了这个属性,你可以开始拖放操作通过调用exportAsDrag
桌上的TransferHandler
。
b
-是否启用自动拖动处理
HeadlessException
-如果
b
是
true
和
GraphicsEnvironment.isHeadless()
返回
true
GraphicsEnvironment.isHeadless()
,
getDragEnabled()
,
JComponent.setTransferHandler(javax.swing.TransferHandler)
,
TransferHandler
public boolean getDragEnabled()
dragEnabled
属性的值
setDragEnabled(boolean)
public final void setDropMode(DropMode dropMode)
DropMode.USE_SELECTION
。另外一个模式的使用建议,然而,对于改善用户体验。
DropMode.ON
,例如,提供展示项目选定的类似的行为,但不影响表中的现实选择。
JTable
支持以下降模式:
DropMode.USE_SELECTION
DropMode.ON
DropMode.INSERT
DropMode.INSERT_ROWS
DropMode.INSERT_COLS
DropMode.ON_OR_INSERT
DropMode.ON_OR_INSERT_ROWS
DropMode.ON_OR_INSERT_COLS
如果该组件有一个TransferHandler
接受滴滴模式才是有意义的。
dropMode
-下降模式的使用
IllegalArgumentException
-如果滴模式不被支持或
null
getDropMode()
,
getDropLocation()
,
JComponent.setTransferHandler(javax.swing.TransferHandler)
,
TransferHandler
public final DropMode getDropMode()
setDropMode(javax.swing.DropMode)
public final JTable.DropLocation getDropLocation()
null
如果没有定位是目前被证明。
这种方法并不意味着查询从一个TransferHandler
放置位置,如放置位置设置后,TransferHandler
的canImport
回来了,已经允许将只显示位置。
这个属性变化时,一个名为“droplocation”是由组件发射属性更改事件。
setDropMode(javax.swing.DropMode)
,
TransferHandler.canImport(TransferHandler.TransferSupport)
public void setAutoCreateRowSorter(boolean autoCreateRowSorter)
RowSorter
应为表创建时,其模型的变化。
当setAutoCreateRowSorter(true)
被调用时,一个TableRowSorter
立即创建和安装在桌子上。而autoCreateRowSorter
属性仍然true
,每次模式发生改变,一个新的TableRowSorter
创建并设置为表中的行排序。为autoCreateRowSorter
属性的默认值是false
。
autoCreateRowSorter
是否应自动创建
RowSorter
TableRowSorter
public boolean getAutoCreateRowSorter()
true
如果当模型发生变化,一个新的
RowSorter
应该创建和安装表的排序;否则,返回
false
。
RowSorter
应时创建的模型的变化
public void setUpdateSelectionOnSort(boolean update)
update
是否更新排序的选择
public boolean getUpdateSelectionOnSort()
public void setRowSorter(RowSorter<? extends TableModel> sorter)
RowSorter
。
RowSorter
是用来提供排序和过滤到一个
JTable
。
此方法清除选择重置变量的行高。
这种方法火灾PropertyChangeEvent
在适当的时候,与属性名称"rowSorter"
。为了向后兼容,此方法火灾附加事件与属性名称"sorter"
。
如果该RowSorter
底层模型不同,这将导致未定义的行为JTable
。
sorter
-
RowSorter
;
null
轮流排序了
TableRowSorter
public RowSorter<? extends TableModel> getRowSorter()
public void setSelectionMode(int selectionMode)
注: JTable
提供所有的方法处理列和行的选择。设置状态时,如setSelectionMode
,它不仅更新的行选择模式也设置类似的价值观在columnModel
选择模型。如果您希望在不同模式下操作的行和列选择模型,可以直接设置它们。
无论是行和列的选择模式JTable
默认使用DefaultListSelectionModel
这样JTable
一样的JList
。看到有关细节的方式JList
setSelectionMode
方法。
public void setRowSelectionAllowed(boolean rowSelectionAllowed)
rowSelectionAllowed
-如果该模型将允许行选择
getRowSelectionAllowed()
public boolean getRowSelectionAllowed()
setRowSelectionAllowed(boolean)
public void setColumnSelectionAllowed(boolean columnSelectionAllowed)
columnSelectionAllowed
-如果这个模式将使色谱柱的选择
getColumnSelectionAllowed()
public boolean getColumnSelectionAllowed()
setColumnSelectionAllowed(boolean)
public void setCellSelectionEnabled(boolean cellSelectionEnabled)
isCellSelected
更改此默认行为。这种方法是相当于设置的
rowSelectionAllowed
财产的
columnModel
columnSelectionAllowed
属性提供的值。
cellSelectionEnabled
-如果同时行和列选择是允许的
getCellSelectionEnabled()
,
isCellSelected(int, int)
public boolean getCellSelectionEnabled()
getRowSelectionAllowed() && getColumnSelectionAllowed()
。
setCellSelectionEnabled(boolean)
public void selectAll()
public void clearSelection()
public void setRowSelectionInterval(int index0, int index1)
index0
到
index1
行,包容。
index0
-区间的一端
index1
-区间的另一端
IllegalArgumentException
-如果
index0
或
index1
之外[ 0 ],
getRowCount()
-1
public void setColumnSelectionInterval(int index0, int index1)
index0
到
index1
选择列,包容。
index0
-区间的一端
index1
-区间的另一端
IllegalArgumentException
-如果
index0
或
index1
之外[ 0 ],
getColumnCount()
-1
public void addRowSelectionInterval(int index0, int index1)
index0
行
index1
,包容,对当前的选择。
index0
-区间的一端
index1
-区间的另一端
IllegalArgumentException
-如果
index0
或
index1
之外[ 0 ],
getRowCount()
-1
public void addColumnSelectionInterval(int index0, int index1)
index0
列
index1
,包容,对当前的选择。
index0
-区间的一端
index1
-区间的另一端
IllegalArgumentException
-如果
index0
或
index1
之外[ 0 ],
getColumnCount()
-1
public void removeRowSelectionInterval(int index0, int index1)
index0
到
index1
,包容。
index0
-区间的一端
index1
-区间的另一端
IllegalArgumentException
-如果
index0
或
index1
之外[ 0 ],
getRowCount()
-1
public void removeColumnSelectionInterval(int index0, int index1)
index0
到
index1
,包容。
index0
-区间的一端
index1
-区间的另一端
IllegalArgumentException
-如果
index0
或
index1
之外[ 0 ],
getColumnCount()
-1
public int getSelectedRow()
public int getSelectedColumn()
public int[] getSelectedRows()
getSelectedRow()
public int[] getSelectedColumns()
getSelectedColumn()
public int getSelectedRowCount()
public int getSelectedColumnCount()
public boolean isRowSelected(int row)
row
是一个有效的指标,指标的选择行(0是第一排)
public boolean isColumnSelected(int column)
column
在柱模型的列
column
是一个有效的指标及指标的选定列(0是第一列)
public boolean isCellSelected(int row, int column)
row
-行查询
column
-被查询的列
row
和
column
有效指标和指标
(row, column)
细胞选择真实,在第一行第一列在索引0
public void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend)
toggle
和
extend
。大多数的选择是由于键盘或鼠标事件的UI接收通过这种方法使行为可以通过子类重写。一些用户界面可能需要比这种方法提供了更多的功能,如操作时导致不连续选择,不得调用这个方法对一些选择的变化。
本实现使用以下约定:
toggle
:假,extend
:假。清除前面的选择,并确保选择新单元格。toggle
:假,extend
:真。将前一个选择从锚定到指定的单元格,清除所有其他的选择。toggle
:真的,extend
:假。如果指定的单元格被选中,取消它。如果它不是选择,选择它。toggle
:真的,extend
:真。将锚定的选择状态应用到它和指定单元格之间的所有单元格。rowIndex
影响选择
row
columnIndex
影响选择
column
toggle
看到上面的描述
extend
-如果属实,扩展当前的选择
public Color getSelectionForeground()
Color
对象属性
setSelectionForeground(java.awt.Color)
,
setSelectionBackground(java.awt.Color)
public void setSelectionForeground(Color selectionForeground)
这个属性的默认值是由外观和感觉实现定义的。
这是一个JavaBeans绑定属性。
selectionForeground
-
Color
使用前景中选择的列表项
getSelectionForeground()
,
setSelectionBackground(java.awt.Color)
,
JComponent.setForeground(java.awt.Color)
,
JComponent.setBackground(java.awt.Color)
,
JComponent.setFont(java.awt.Font)
public Color getSelectionBackground()
Color
setSelectionBackground(java.awt.Color)
,
setSelectionForeground(java.awt.Color)
public void setSelectionBackground(Color selectionBackground)
这个属性的默认值是由外观和感觉实现定义的。
这是一个JavaBeans绑定属性。
selectionBackground
-
Color
使用选定的单元格的背景
getSelectionBackground()
,
setSelectionForeground(java.awt.Color)
,
JComponent.setForeground(java.awt.Color)
,
JComponent.setBackground(java.awt.Color)
,
JComponent.setFont(java.awt.Font)
public TableColumn getColumn(Object identifier)
identifier
的
TableColumn
对象,相比使用
equals
。
identifier
的标识对象
TableColumn
对象标识符
IllegalArgumentException
-如果
identifier
是
null
或没有
TableColumn
这个标识符
public int convertColumnIndexToModel(int viewColumnIndex)
viewColumnIndex
到表中的列的索引模型。返回模型中相应列的索引。如果
viewColumnIndex
小于零,返回
viewColumnIndex
。
viewColumnIndex
-视图中的列的索引
convertColumnIndexToView(int)
public int convertColumnIndexToView(int modelColumnIndex)
modelColumnIndex
到视图中的列的索引。返回视图中的相应列的索引;如果没有显示此列,则返回1。如果
modelColumnIndex
小于零,返回
modelColumnIndex
。
modelColumnIndex
-模型中的列的索引
convertColumnIndexToModel(int)
public int convertRowIndexToView(int modelRowIndex)
TableModel
条款的行的索引的视图。如果模型的内容不进行排序,模型和视图索引是相同的。
modelRowIndex
-从模型的行的索引
IndexOutOfBoundsException
-如果启用排序,通过索引外的
TableModel
行数
TableRowSorter
public int convertRowIndexToModel(int viewRowIndex)
TableModel
。如果模型的内容不进行排序,模型和视图索引是相同的。
viewRowIndex
-视图中的行的索引
IndexOutOfBoundsException
-如果启用排序,通过指数以外的
JTable
范围的确定方法
getRowCount
TableRowSorter
,
getRowCount()
public int getRowCount()
JTable
显示行数,给予无限的空间。如果一个滤波器
RowSorter
已指定,返回的行数可能不同于下面
TableModel
。
JTable
显示行数
getColumnCount()
public int getColumnCount()
getRowCount()
,
removeColumn(javax.swing.table.TableColumn)
public String getColumnName(int column)
column
视图中的列的名称。
column
-视图中的列被查询
column
列的名称
public 类<?> getColumnClass(int column)
column
视图中出现的列的类型。
column
-视图中的列被查询
column
列类型
public Object getValueAt(int row, int column)
row
和
column
单元格的值。
注:列表视图中的显示顺序指定,而不是在TableModel
的列顺序。这是一个重要的区别,因为用户将表中的列,在一个给定的索引视图中的列将改变。同时用户的行为永远不会影响模型的列排序。
row
-行的价值受到质疑
column
的列的值进行查询
public void setValueAt(Object aValue, int row, int column)
row
表格模型的单元格的值和
column
。
注:列表视图中的显示顺序指定,而不是在TableModel
的列顺序。这是一个重要的区别,因为用户将表中的列,在一个给定的索引视图中的列将改变。同时用户的行为永远不会影响模型的列排序。aValue
是新价值。
aValue
-新价值
row
-细胞被改变的行
column
-细胞改变柱
getValueAt(int, int)
public boolean isCellEditable(int row, int column)
row
和
column
细胞编辑。否则,调用
setValueAt
对细胞没有影响。
注:列表视图中的显示顺序指定,而不是在TableModel
的列顺序。这是一个重要的区别,因为用户将表中的列,在一个给定的索引视图中的列将改变。同时用户的行为永远不会影响模型的列排序。
row
-行的价值受到质疑
column
的列的值进行查询
setValueAt(java.lang.Object, int, int)
public void addColumn(TableColumn aColumn)
aColumn
对由这
JTable
柱模型举行列数组的结束。如果
aColumn
列名
null
,设置返回的名称由
getModel().getColumnName()
的
aColumn
列名。
添加一个列,这JTable
显示与给定的width
,cellRenderer
模型中的数据modelColumn
'th柱,和cellEditor
可以使用:
addcolumn(新tablecolumn(modelcolumn,宽度,cellrenderer,celleditor));[任何的
TableColumn
构造函数可以用来代替这一个。]模型的列数是存储在
TableColumn
,在绘制和编辑定位于数据模型中使用。模型的列数并没有改变时,视图中的列重新排序。
aColumn
-
TableColumn
加以补充
removeColumn(javax.swing.table.TableColumn)
public void removeColumn(TableColumn aColumn)
JTable
列的阵列
aColumn
。注:此方法不能消除来自模型的数据列;它只是删除
TableColumn
,负责显示。
aColumn
-
TableColumn
被删除
addColumn(javax.swing.table.TableColumn)
public void moveColumn(int column, int targetColumn)
column
目前通过视图中的列
targetColumn
占据的位置。在
targetColumn
老柱左或右移使房间。
column
-柱感动指数
targetColumn
-柱的新指标
public int columnAtPoint(Point point)
point
在于指数,或1如果结果不在这个范围
getColumnCount()
-1 [ 0 ]。
point
-感兴趣的位置
point
在于指数,或1如果结果不在这个范围
getColumnCount()
-1 [ 0 ]
rowAtPoint(java.awt.Point)
public int rowAtPoint(Point point)
point
在于,或1如果结果不在这个范围
getRowCount()
-1 [ 0 ]。
point
-感兴趣的位置
point
在于,或1如果结果不在这个范围
getRowCount()
-1 [ 0 ]
columnAtPoint(java.awt.Point)
public Rectangle getCellRect(int row, int column, boolean includeSpacing)
row
和
column
相交处的单元矩形。如果是真的话,
includeSpacing
返回值有充分的高度和宽度的行和列指定。如果是假的,插入的间距要返回的绘制或编辑组件,它将被设置在渲染的真实边界的小区间是返回的矩形。
如果列索引是有效的但排指数小于零的方法返回一个矩形的y
和height
值适当的设置都设置为零的x
和width
值。在一般情况下,当行或列指数表示一个单元格在适当的范围外,该方法返回一个矩形,描绘在表的范围内的最接近的单元格的最接近的边缘。当两个行和列索引都不在范围内时返回的矩形覆盖最接近的单元格的最近点。
在所有情况下,使用这种方法计算结果沿一个轴的计算将不会失败,因为沿另一个轴的计算中的异常。当细胞无效的includeSpacing
参数被忽略。
row
的行的索引所需的细胞位于
column
-列索引所需的细胞位于显示;这不一定为表中的数据模型的列索引相同的
convertColumnIndexToView(int)
;方法可用于将数据模型列指数显示列的索引
includeSpacing
-如果是FALSE,返回真正的细胞界限-减去间距由列和行的高度和宽度模型间计算
row
含有细胞长方形,
column
getIntercellSpacing()
public void doLayout()
JTable
的列的总宽度等于桌子的宽度。
布局开始的方法得到的tableHeader
的resizingColumn
之前。当方法被称为作为一个结果,一个封闭的窗口的大小,这是null
resizingColumn
。这意味着改变已经发生的“外部”的JTable
和变化或“三角洲”应分配给所有列,无论这个JTable
的自动调整大小模式。
如果resizingColumn
不null
,它是在已经改变的大小而不是表本身的表列。在这种情况下,自动调整大小模式支配的方式,额外的(或赤字)空间分布在可用列之间。
模式是:
Viewport
宽度总和超过。如果JTable
不是封闭在一个JScrollPane
这可能让部分的表看不见。JTable
所有列,其中一个正在调整。注:当JTable
进行调整的宽度的列的最大值和最小值绝对尊重他们。因此,它是可能的,即使在这种方法被调用后,列的总宽度仍然不等于表的宽度。当这种情况发生时,JTable
不把自己auto_resize_off模式带来了一个滚动条,或打破目前的自动调整大小模式的其他承诺,反而使其边界应设置较大的(或更小)的列的最大值或最小值,总的意思,也不会有足够的空间显示所有的列或列不填JTable
的界限。这些分别在一些列或一个地区被画在JTable
的背景颜色在画裁剪结果。
在可用的列分布的三角洲的机制是在JTable
类的私有方法提供:
adjustsizes(长targetsize,最终resizable3 R布尔逆)其中一个解释是在以下部分提供。
Resizable3
是私有的接口,允许任何数据结构包含一个元素的大小,首选的尺寸,最大尺寸和最小尺寸有其元素操纵的算法。
称为“三角洲”的目标大小和在R中的元素的首选大小的总和的总和计算通过采取原来的首选尺寸和增加一个份额的三角洲-份额的基础上有多远,每一个首选的大小是从它的限制约束(最小或最大)。
打电话给个人的限制民[我],[我]和最大,“[我]。
叫他们各自的总结:min,max,和PREF.
每一个新的大小将被计算使用:
大小[我] =“[我] +三角洲[我]在每个三角洲[我]是根据:
如果(三角洲- 0),我们在收缩模式在哪里:
三角洲三角洲[我] = ------------ *(“[我]民[我])(“分)如果(δ> 0)我们在扩展模式下:
三角洲三角洲[我] = ------------ *(max [我] -“[我])(最大优先)
总的影响是,总规模的移动,相同的百分比,K,对总的最低或最大,并保证住宿所需的空间,三角洲。
天真的评价公式在这里会受到聚集的舍入误差在有限精度做这种手术造成的(使用对象)。为了解决这一问题,该倍率以上,不断重新计算,这是在以前的迭代的舍入误差的考虑。结果是产生一组整数的值是和所提供的targetSize
算法,并通过舍入误差均匀分布在给定的元素。
当targetSize
外[ min,max ]范围,算法集所有尺寸合适的极限值(最大或最小)。
@Deprecated public void sizeColumnsToFit(boolean lastColumnOnly)
doLayout()
。
doLayout()
public void sizeColumnsToFit(int resizingColumn)
doLayout()
法代替。
resizingColumn
的大小进行调整的必要或1如果没有这样的列的列
doLayout()
public String getToolTipText(MouseEvent event)
JComponent
getToolTipText
重写的方法为了让渲染器的窍门,如果有文本设置。
对于JTable
正确显示其渲染JTable
提示注:必须注册组件与ToolTipManager
。这是initializeLocalVars
自动完成的,但如果在后来JTable
告诉setToolTipText(null)
将注销表格组件,并从渲染器没有提示会显示了。
getToolTipText
方法重写,继承类
JComponent
JComponent.getToolTipText()
public void setSurrendersFocusOnKeystroke(boolean surrendersFocusOnKeystroke)
surrendersFocusOnKeystroke
-如果编辑器应该获得焦点时,按键导致编辑器被激活
getSurrendersFocusOnKeystroke()
public boolean getSurrendersFocusOnKeystroke()
setSurrendersFocusOnKeystroke(boolean)
public boolean editCellAt(int row, int column)
row
和
column
编辑单元格,如果这些指数在有效范围内,在这些指标的细胞是可编辑的。请注意,这是一个
editCellAt(int, int, null)
便利的方法。
row
的行进行编辑
column
-列进行编辑
public boolean editCellAt(int row, int column, EventObject e)
row
和
column
编辑单元格,如果这些指数在有效范围内,在这些指标的细胞是可编辑的。为了防止
JTable
编辑特定的表、列或单元格的值,在
TableModel
接口错误的从
isCellEditable
方法返回。
row
的行进行编辑
column
-列进行编辑
e
事件进入
shouldSelectCell
;注意,作为java 2平台V1.2,调用
shouldSelectCell
不再是了
public boolean isEditing()
editingColumn
,
editingRow
public Component getEditorComponent()
public int getEditingColumn()
editingRow
public int getEditingRow()
editingColumn
public TableUI getUI()
TableUI
对象,使得这部分
public void setUI(TableUI ui)
ui
- tableui L和F的对象
UIDefaults.getUI(javax.swing.JComponent)
public void updateUI()
UIManager
,L和F改变通知。从
UIManager
最新版本替换当前的UI对象。
updateUI
方法重写,继承类
JComponent
JComponent.updateUI()
public String getUIClassID()
getUIClassID
方法重写,继承类
JComponent
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public void setModel(TableModel dataModel)
newModel
和寄存器的数据模型,它从新的数据模型监听器通知。
dataModel
-此表的数据源
null
newModel
IllegalArgumentException
getModel()
public TableModel getModel()
TableModel
提供数据显示这
JTable
。
TableModel
提供数据显示这
JTable
setModel(javax.swing.table.TableModel)
public void setColumnModel(TableColumnModel columnModel)
newModel
和寄存器从新列模型监听器通知。同时设置的
JTableHeader
柱模型
columnModel
。
columnModel
-此表的数据源
null
columnModel
IllegalArgumentException
getColumnModel()
public TableColumnModel getColumnModel()
TableColumnModel
。
setColumnModel(javax.swing.table.TableColumnModel)
public void setSelectionModel(ListSelectionModel newModel)
newModel
和寄存器从新选择模型监听器通知。
newModel
-选择新模式
null
newModel
IllegalArgumentException
getSelectionModel()
public ListSelectionModel getSelectionModel()
ListSelectionModel
是用来保持行选择状态。
null
如果行的选择是不允许的
setSelectionModel(javax.swing.ListSelectionModel)
public void sorterChanged(RowSorterEvent e)
RowSorterListener
通知,
RowSorter
已经以某种方式改变。
sorterChanged
接口
RowSorterListener
e
描述变化的
RowSorterEvent
null
e
NullPointerException
public void tableChanged(TableModelEvent e)
TableModel
产生
TableModelEvent
。的
TableModelEvent
应在模型的坐标系建立;到视图坐标系统的适当的映射,这
JTable
当它接收到的事件进行。
应用程序代码将不会使用这些方法明确,他们是由JTable
内部使用。
请注意,截至1.3,此方法清除选择,如果有。
tableChanged
接口
TableModelListener
public void columnAdded(TableColumnModelEvent e)
应用程序代码将不会使用这些方法明确,他们由JTable内部使用。
columnAdded
接口
TableColumnModelListener
TableColumnModelListener
public void columnRemoved(TableColumnModelEvent e)
应用程序代码将不会使用这些方法明确,他们由JTable内部使用。
columnRemoved
接口
TableColumnModelListener
TableColumnModelListener
public void columnMoved(TableColumnModelEvent e)
应用程序代码将不会使用这些方法明确,他们由JTable内部使用。
columnMoved
接口
TableColumnModelListener
e
-接收事件
TableColumnModelListener
public void columnMarginChanged(ChangeEvent e)
应用程序代码将不会使用这些方法明确,他们由JTable内部使用。
columnMarginChanged
接口
TableColumnModelListener
e
-接收事件
TableColumnModelListener
public void columnSelectionChanged(ListSelectionEvent e)
TableColumnModel
选择模型的改变。
应用程序代码将不会使用这些方法明确,他们由JTable内部使用。
columnSelectionChanged
接口
TableColumnModelListener
e
-接收事件
TableColumnModelListener
public void valueChanged(ListSelectionEvent e)
应用程序代码将不会使用这些方法明确,他们由JTable内部使用。
valueChanged
接口
ListSelectionListener
e
-接收事件
ListSelectionListener
public void editingStopped(ChangeEvent e)
应用程序代码将不会使用这些方法明确,他们由JTable内部使用。
editingStopped
接口
CellEditorListener
e
-接收事件
CellEditorListener
public void editingCanceled(ChangeEvent e)
应用程序代码将不会使用这些方法明确,他们由JTable内部使用。
editingCanceled
接口
CellEditorListener
e
-接收事件
CellEditorListener
public void setPreferredScrollableViewportSize(Dimension size)
size
-
Dimension
对象指定一个
JViewport
的观点是这台
preferredSize
Scrollable.getPreferredScrollableViewportSize()
public Dimension getPreferredScrollableViewportSize()
getPreferredScrollableViewportSize
接口
Scrollable
JViewport
的
preferredSize
Dimension
对象
Scrollable.getPreferredScrollableViewportSize()
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
每次用户请求一个单位滚动时,这种方法被调用。
getScrollableUnitIncrement
接口
Scrollable
visibleRect
-视图的视口内的可见区域
orientation
-
SwingConstants.VERTICAL
或
SwingConstants.HORIZONTAL
direction
-小于零的滚动/左,大于零的下/右
Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)
public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
visibleRect.height
或
visibleRect.width
,根据此表的方向。注意,摆动1.1.1(java 2 V 1.2.2)返回的值将确保视口是干净整齐排列在列边界。
getScrollableBlockIncrement
接口
Scrollable
visibleRect
-视图的视口内的可见区域
orientation
- swingconstants.vertical或swingconstants.horizontal。
direction
-小于零的滚动/左,大于零的下/右。
visibleRect.height
或每个方向
visibleRect.width
Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int)
public boolean getScrollableTracksViewportWidth()
autoResizeMode
设置
AUTO_RESIZE_OFF
返回false,说明视口的宽度不确定表格的宽度。否则返回真。
getScrollableTracksViewportWidth
接口
Scrollable
autoResizeMode
设置
AUTO_RESIZE_OFF
假,否则返回true
Scrollable.getScrollableTracksViewportWidth()
public boolean getScrollableTracksViewportHeight()
false
表示视口的高度不确定表的高度,除非
getFillsViewportHeight
是
true
和表的首选高度小于视口的高度。
getScrollableTracksViewportHeight
接口
Scrollable
false
除非
getFillsViewportHeight
是
true
和桌子需要延伸到整个视图
Scrollable.getScrollableTracksViewportHeight()
,
setFillsViewportHeight(boolean)
,
getFillsViewportHeight()
public void setFillsViewportHeight(boolean fillsViewportHeight)
false
。
fillsViewportHeight
-这是否表总是足以填补封闭视口的高度
getFillsViewportHeight()
,
getScrollableTracksViewportHeight()
public boolean getFillsViewportHeight()
setFillsViewportHeight(boolean)
protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)
JComponent
ks
绑定的
KeyEvent
e
结果,获得合适的
InputMap
,获取绑定,从
ActionMap
获取动作,然后(如果找到行为和组件启用)调用
notifyAction
通知行动。
processKeyBinding
方法重写,继承类
JComponent
ks
-
KeyStroke
查询
e
-
KeyEvent
condition
-以下值之一:
pressed
-如果按下键
protected void createDefaultRenderers()
DefaultTableCellRenderer
protected void createDefaultEditors()
DefaultCellEditor
protected void initializeLocalVars()
protected TableModel createDefaultDataModel()
DefaultTableModel
。子类可以重写此方法以返回一个不同的表模型对象。
DefaultTableModel
protected TableColumnModel createDefaultColumnModel()
DefaultTableColumnModel
。子类可以重写此方法以返回一个不同的列模型对象。
DefaultTableColumnModel
protected ListSelectionModel createDefaultSelectionModel()
DefaultListSelectionModel
。子类可以重写此方法以返回一个不同的选择模型对象。
DefaultListSelectionModel
protected JTableHeader createDefaultTableHeader()
JTableHeader
。子类可以重写此方法以返回一个不同的表头对象。
JTableHeader
protected void resizeAndRepaint()
revalidate
随后
repaint
。
public TableCellEditor getCellEditor()
null
如果表是目前编辑。
TableCellEditor
,或
null
如果表是目前编辑。
cellEditor
,
getCellEditor(int, int)
public void setCellEditor(TableCellEditor anEditor)
anEditor
-活动单元格编辑
cellEditor
public void setEditingColumn(int aColumn)
editingColumn
变量。
aColumn
-细胞要编辑的列
editingColumn
public void setEditingRow(int aRow)
editingRow
变量。
aRow
-细胞要编辑的行
editingRow
public TableCellRenderer getCellRenderer(int row, int column)
TableColumn
有一个非空的渲染,返回。如果没有,发现此列中的数据类(使用
getColumnClass
)并返回该数据类型的默认渲染器。
整个表包注:,内部的实现总是使用这种方法提供的渲染器,这种默认行为可以安全地被类。
row
-细胞呈现排,其中0是第一排
column
-细胞使之列,其中0是第一列
null
返回默认的渲染器,该类型对象
DefaultTableCellRenderer
,
TableColumn.setCellRenderer(javax.swing.table.TableCellRenderer)
,
setDefaultRenderer(java.lang.Class<?>, javax.swing.table.TableCellRenderer)
public Component prepareRenderer(TableCellRenderer renderer, int row, int column)
row
,
column
细胞状态。返回组件(可能是一个
Component
或
JComponent
)事件位置下。
在打印操作过程中,该方法将配置渲染器没有显示选择或重点,以防止它们出现在打印输出。做基于表是否正在印刷其他自定义,您可以检查JComponent.isPaintingForPrint()
的价值,无论是在这里还是在自定义渲染器。
整个表包注:,内部的实现总是用这种方法制备的渲染器,这种默认行为可以安全地被类。
renderer
-
TableCellRenderer
准备
row
-细胞呈现排,其中0是第一排
column
-细胞使之列,其中0是第一列
Component
public TableCellEditor getCellEditor(int row, int column)
row
和
column
指定细胞适当的编辑器返回。如果该列的
TableColumn
有一个非空的编辑器,返回。如果没有,发现此列中的数据类(使用
getColumnClass
),此类数据的默认编辑器返回。
整个表包注:,内部的实现总是用这种方法来提供编辑,这种默认行为可以安全地被类。
row
-细胞编辑的行,其中0是第一排
column
-单元格的编辑栏,其中0是第一列
null
返回这类细胞的默认编辑器
DefaultCellEditor
public Component prepareEditor(TableCellEditor editor, int row, int column)
row
细胞状态,
column
。
整个表包注:,内部的实现总是用这种方法制备的编辑,这种默认行为可以安全地被类。
editor
-
TableCellEditor
设置
row
-细胞编辑的行,其中0是第一排
column
-单元格的编辑栏,其中0是第一列
Component
public void removeEditor()
protected String paramString()
null
。
paramString
方法重写,继承类
JComponent
public boolean print() throws PrinterException
JTable
模式
PrintMode.FIT_WIDTH
,没有页眉或页脚文本。一个模态对话框,一个中止选项,将显示在打印的持续时间。
注:在头模式,没有对话框显示和打印时的默认打印机。
SecurityException
-如果该线程是不允许启动打印作业的要求
PrinterException
-如果在打印系统错误导致工作被中止
print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean, PrintService)
,
getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)
public boolean print(JTable.PrintMode printMode) throws PrinterException
JTable
在给定的打印模式,没有页眉或页脚文本。一个模态对话框,一个中止选项,将显示在打印的持续时间。
注:在头模式,没有对话框显示和打印时的默认打印机。
printMode
-打印应使用打印模式
SecurityException
-如果该线程是不允许启动打印作业的要求
PrinterException
-如果在打印系统错误导致工作被中止
print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean, PrintService)
,
getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)
public boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat) throws PrinterException
JTable
在给定的打印模式,与指定页眉和页脚文本。一个模态对话框,一个中止选项,将显示在打印的持续时间。
注:在头模式,没有对话框显示和打印时的默认打印机。
printMode
-打印应使用打印模式
headerFormat
-
MessageFormat
指定要用于打印页眉文本,或空无
footerFormat
-
MessageFormat
指定要用于打印页脚文本,或空无
SecurityException
-如果该线程是不允许启动打印作业的要求
PrinterException
-如果在打印系统错误导致工作被中止
print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean, PrintService)
,
getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)
public boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive) throws PrinterException, HeadlessException
print
方法指定默认打印机,与指定的打印服务。
printMode
-打印应使用打印模式
headerFormat
-
MessageFormat
指定要用于打印页眉文本,或
null
没有
footerFormat
-
MessageFormat
指定要用于打印页脚文本,或
null
没有
showPrintDialog
-是否显示打印对话框
attr
-
PrintRequestAttributeSet
指定任何打印属性,或
null
没有
interactive
是否在交互式模式打印
HeadlessException
-如果方法不要求显示打印对话框或交互运行,并
GraphicsEnvironment.isHeadless
返回
true
SecurityException
-如果该线程是不允许启动打印作业的要求
PrinterException
-如果在打印系统错误导致工作被中止
print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean, PrintService)
,
getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)
public boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive, PrintService service) throws PrinterException, HeadlessException
JTable
版画。采取措施,大多数开发商会为了打印一
JTable
。总之,它准备表,电话
getPrintable
取一个合适的
Printable
,然后将其发送到打印机。
一个boolean
参数允许您指定是否打印对话框显示给用户。当它是,用户可以使用对话框来改变目标打印机或打印属性,甚至取消打印。另一个参数允许一个PrintService
印刷属性来指定。这些参数可以用来为打印对话框提供初始值,或在未显示对话框时指定值。
第二boolean
参数允许您指定是否在交互模式下进行打印。如果true
,模态对话框,一个放弃期权,是印刷术的持续时间显示。此对话框还可以防止任何可能影响表的用户操作。然而,它不能防止表被修改的代码(例如,另一个线程的帖子更新使用SwingUtilities.invokeLater
)。要确保没有其他代码修改表中的任何方式在打印过程中,因此是开发商的责任(无效的修改变化包括:尺寸、渲染,或相关的数据)。当在打印过程中更改表时,打印行为是不确定的。
如果false
为此参数指定,没有对话框将显示和打印将立即开始对事件调度线程。这一块的任何其他事件,包括被重画,直到打印完成加工。虽然这有效地防止了表被更改,但它不提供良好的用户体验。为此,建议仅当指定false
从没有可见的GUI应用程序打印。
注:尝试显示打印对话框或交互运行,而无头的方式,将导致HeadlessException
。
在获取打印,此方法将优雅的编辑,如果需要终止,防止编辑在打印结果显示。此外,JTable
将准备的渲染器,选择印刷和重点是不显示在。至于如何进一步定制表看起来在打印输出,开发人员可以提供自定义的渲染器,对JComponent.isPaintingForPrint()
价值条件化或油漆代码。
看到getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)
更多描述如何表打印。
printMode
-打印应使用打印模式
headerFormat
-
MessageFormat
指定要用于打印页眉文本,或
null
没有
footerFormat
-
MessageFormat
指定要用于打印页脚文本,或
null
没有
showPrintDialog
-是否显示打印对话框
attr
-
PrintRequestAttributeSet
指定任何打印属性,或
null
没有
interactive
是否在交互式模式打印
service
-目的地
PrintService
,或
null
使用默认的打印机
HeadlessException
-如果方法不要求显示打印对话框或交互运行,并
GraphicsEnvironment.isHeadless
返回
true
SecurityException
-如果存在一个安全管理及其
SecurityManager.checkPrintJobAccess()
方法不允许该线程创建一个打印作业要求
PrinterException
-如果在打印系统错误导致工作被中止
getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)
,
GraphicsEnvironment.isHeadless()
public Printable getPrintable(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat)
Printable
。
这种方法的目的是为那些希望定制JTable
的print
方法的默认实现Printable
。开发人员只想打印表,应该直接使用这些方法之一。
的Printable
可以有两种印刷方式的要求。在这两种模式中,它自然地传播表格行在多个页面,尽可能多的行,每页。PrintMode.NORMAL
指定表被打印在其电流的大小。在这种模式中,可能有一个需要以类似的方式在页面中传播列。当需要时,柱分布在顺序表的ComponentOrientation
一致。PrintMode.FIT_WIDTH
指定输出的比例较小,如果有必要,以适应表的整个宽度(从而所有列)的每一页上。宽度和高度都是一样的,保持输出的纵横比。
的Printable
头部分表的每一页上的相应部分从表的JTableHeader
,如果它有一个。
页眉和页脚文本可以提供MessageFormat
参数添加到输出。打印代码请求字符串的格式,提供一个单一的项目可能包括在格式化字符串:表示当前页码Integer
。
我们鼓励你阅读MessageFormat
文档的一些特点,如单引号,是特殊的,需要逃。
这里是创建一个MessageFormat
可用于打印的“杜克的表的一个例子:页-“当前页码:
/注意单引号的逃脱请注意页号是包含在“{ 0 }”中的格式格式=新的格式(“公爵”的表:页- { 0 }”);
约束的Printable
什么得出每个页面的可打印区域,打印。在某些情况下,它可能会发现它不可能适合所有的页面的内容到该区域。在这种情况下,输出可能会被截断,但实现的努力,做一些合理的。这里有一些情况下,这是已知的发生,以及他们如何可能是由这个特定的实现:
ComponentOrientation
确定。PrintMode.NORMAL
当柱太宽,适合在可打印区域打印列的中心部分,把左、右边框的表格。这Printable
被包裹在另一个以创建复杂的报告和文件,这是完全合法的。你甚至可能会要求不同的页面被渲染成不同大小的可打印区域。执行必须准备处理这个(可能是通过做它的布局计算)。然而,每个页面提供不同的高度可能会不适合PrintMode.NORMAL
当它传播列在页面。
至于定制打印结果表看起来如何,JTable
本身会隐藏和焦点的选择在印刷。额外的定制,你的渲染或绘画代码可以自定义基于JComponent.isPaintingForPrint()
价值看
同时,之前调用此方法,你不妨第一修改表的状态,如取消单元格编辑或用户表适当大小。然而,你不能修改状态表的之后这Printable
已牵强(无效的修改包括改变大小或数据)。返回的Printable
行为未定义一旦表已经改变。
printMode
-打印应使用打印模式
headerFormat
-
MessageFormat
指定要用于打印页眉文本,或空无
footerFormat
-
MessageFormat
指定要用于打印页脚文本,或空无
Printable
印刷这个JTable
print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean)
,
Printable
,
PrinterJob
public AccessibleContext getAccessibleContext()
getAccessibleContext
接口
Accessible
getAccessibleContext
方法重写,继承类
Component
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.