JAVA 如何设置JTable的渲染器以及是否可编辑属性和其上的事件监听机制
来源:互联网 发布:ic卡制作软件 编辑:程序博客网 时间:2024/06/08 16:18
今天刚学到的,记录下,以后看的方便
1.设置JTable的渲染器:
DefaultTableModel dtm=new DefaultTableModel(s_data,s_head);
jt=new JTable(dtm);
jt.setDefaultRenderer(Object.class, new TableViewRenderer()); //设置其渲染器
//以下渲染器实现功能:单元格内文本过长时会被Wrapped(顿时有点不太清楚这个单词该怎么解释)
class TableViewRenderer extends JTextArea implements TableCellRenderer{
public TableViewRenderer(){
setLineWrap(true);
}
@Override
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
setText(value==null?"":value.toString());
return this;
}
}
2.设置JTable的 编辑属性和监听机制
默认情况是所有行和所有列都可编辑。
//下面实现第2行2列的单元格可编辑,其他单元格则不可编辑
JTable jt=new JTable(new DefaultTableModel(v_data,v_head)){
public boolean isCellEditable(int row,int column){
if(row == 2 && column == 2){
return true;
}
else{
return false;
}
}
});
监听机制实现:
TableChangeListener tl=new TableChangeListener(stmt);
jt.getSelectionModel().addListSelectionListener(tl); //为行设置监听器,当行值发生变化时采取的动作,具体方法名由接口已经定义,具体细节自己实现
jt.getColumnModel().addColumnModelListener(tl);//为列设置监听器,当列值发生变化时采取的动作
jt.getModel().addTableModelListener(tl); //更细节的监听器,可以具体对某行某列变化值进行测定
class TableChangeListener implements ListSelectionListener,TableModelListener,TableColumnModelListener{
int rowNum,colNum;
Statement statement;
public TableChangeListener(Statement statement){
this.statement=statement;
}
public void valueChanged(ListSelectionEvent e){
rowNum=jt.getSelectedRow();
}
public void columnSelectionChanged(ListSelectionEvent e){
colNum=jt.getSelectedColumn();
}
public void tableChanged(TableModelEvent e){
if(colNum==**&&rowNum==**){
//do something
}
}
}
- JAVA 如何设置JTable的渲染器以及是否可编辑属性和其上的事件监听机制
- JAVA设置JTable表格的可编辑性
- Swing JTable的一些使用方式:单元格触发事件、设置可编辑单元格
- jtable的鼠标事件监听
- 设置表体某行某字段的可编辑属性?
- JAVA的事件监听机制
- Java的事件监听机制
- 点击jtable单元格使其可编辑
- 详解java的事件监听机制和观察者设计模式
- 如何将JTable中某个可编辑单元的改编后的值即时保存
- 如何设置JTable不可编辑
- 渲染器如何访问父类组件和其渲染的字段
- JTable的添加行插入行以及JTable的单击和双击事件
- gridview如何改变行显示的内容以及设置单元格的是否允许编辑
- gridview如何改变行显示的内容以及设置单元格的是否允许编辑
- JTable 的编辑和表现 (转)
- JTable中几种对象默认的渲染器
- Swing面板上调整JTable的行高和列宽,以及表格超出JScorllPane时设置滚动条
- ubuntu 14.04 输入法问题
- C - Orders 字典序全排列
- Access restriction: The method createJPEGEncoder(OutputStream) from the type JPEGCodec is not access
- 解决linux 不能识别ntfs分区问题(linux系统挂载移动硬盘)
- 不安装JRE运行JavaApplet小程序
- JAVA 如何设置JTable的渲染器以及是否可编辑属性和其上的事件监听机制
- javascript函数申明与函数表达式
- excel读取
- Python 的格式化输出
- c#通过反射设置和获取值
- uva 196(dfs)
- 驱动开发之 键盘过滤驱动一键盘输入流程
- poj 1177 Picture
- Libsvm for Matlab 安装过程和其中的一些问题