1.6.2 在表格中添加按钮
表格用于显示复合数据,其中可以指定表格的表头和表文。默认的表格控件完全是 以文本方式显示目标数据,要实现在表格中添加按钮或其他组件就要通过设置自定义的 渲染器来实现。表格的渲染器通过TableCellRenderer接口实现,该接口中定义了getTableCellRendererComponent()方法,这个方法将被表格控件回调来渲染指定的单元格控件。重写这个方法并在方法体中控制单元格的渲染就可以将按钮作为表格的单元格控件。该方法的声明如下:Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row, int column)
方法中的参数及说明如表1.6所示。
表1.6 getTableCellRendererComponent()方法中的参数及说明
参数
说明
table
要求渲染器绘制的JTable;可以为null
value
要呈现的单元格的值。由具体的渲染器解释和
绘制该值。例如,如果value是字符串“true”,
则它可呈现为字符串,或者呈现为已
选中的复选框。null是有效值
isSelected
如果使用选中样式的高亮显示来呈现该单元格,
则为true;否则为false
hasFocus
如果为true,则适当地呈现单元格。例如,
在单元格上放入特殊的边框,如果可以编
辑该单元格,则以彩色呈现它,用于指示正在进行编辑
row
要绘制的单元格的行索引。绘制头时,row的值是-1
column
要绘制的单元格的列索引
例如,本模块中设置"是否入库"列的渲染器,代码如下:
01 table.getColumn("是否入库").setCellRenderer(new ButtonRenderer());//设置指定列的渲染器
【责任编辑:云霞 TEL:(010)68476606】
点赞 0