JTable的一些用法
来源:互联网 发布:仿乐视网站源码 编辑:程序博客网 时间:2024/05/10 14:25
最近帮朋友做了个GUI,其中用到了JTable,这个以前不怎么用,这次因为业务需要查阅资料,学到不少,因为知识点较为零碎,现总结一下,方便以后查阅。
1:表的创建
Object [][]cells=new Object[0][0]; //创建一个初始行列都为0的表
String[] colname={"代码","名称"}; //列名
table=new JTable(cells,colname); //实例化
2:得到当前选中行 int hang=table.getSelectedRow() ;
3: 得到某行某列的字符串形式内容 String str=table.getValueAt(0,0).toString(); //例中得到0行0列的单元格内容
4:添加焦点监听器 addFocusListener(new FocusListener(){});
里面常重写两个方法来实现自己的需求
public void focusGained(FocusEvent e){} //得到焦点时的动作
public void focusLost(FocusEvent e) { //当点击表以外其他可以聚焦的组件时的失去焦点动作
if (!e.isTemporary()) {
jTable1.clearSelection();
}
}
5:比如要使选中行的内容动态的显示在一个文本框中时,因为当在一个表中切换行时焦点始终在表中,文本框不能随着切换而动态改变,只会显示第一次聚焦表时的内容,除非点击别处使表失去焦点再点回表重新获得焦点,文本框才会改变。那么要在表中连续切换行时实现文本框的动态改变怎么办?至今我没有找到好的解决途径,我的方法是每次选中某行触发获得焦点事件的最后使焦点移到表以外的地方,那么即使连续点击其他行,都相当于从表外移进的,文本框都会动态显示。这点要结合4中的监听器如:
jTable1.addFocusListener(new FocusListener(){
public void focusGained(FocusEvent e) {
int hang=jTable1.getSelectedRow() ;
txtCode.setText(jTable1.getValueAt(hang,0).toString());
txtDetails.setText(jTable1.getValueAt(hang,1).toString());
txtDetails.requestFocus(true);
}
public void focusLost(FocusEvent e) {
if (!e.isTemporary()) {
jTable1.clearSelection();
}
}
});
6:移出某一行 ((DefaultTableModel)jTable1.getModel()).removeRow(0);//例中为移除第0行
7:得到表的行数 int count=((DefaultTableModel)jTable1.getModel()).getRowCount();
8:给表增加行 ,可用Vector,如:
Vector vector=new Vector();
vector.add(rs.getString(1).toString());
vector.add(rs.getString(2).toString());
((DefaultTableModel)jTable1.getModel()).addRow(vector);
9:使某一行处于高亮被 选中状态
jTable1.setRowSelectionInterval(int n,int m); //使从n行到m行处于被选中状态,如果只选中一行,则n和m值相等。如:jTable1.setRowSelectionInterval(0,0); //使首行选中
- JTable的一些用法
- JTable的一些用法
- JTable的相关用法
- 理解JTable的用法
- 关于JTable的用法
- Jtable 的用法
- JTable的简单用法
- JTable 的用法小结
- JTable的基本用法
- JTable的基本用法
- JTable的常见用法
- JTable的常见用法
- JTable的常见用法
- Java中JTable的用法
- Java中JTable的用法
- Java中JTable的用法
- Java - 表格JTable的用法
- Java 中JTable的用法
- MFC中CString操作中的奇怪问题!!
- jsp及Servlet面试题
- VC动态链接库DLL 开发技巧
- jsp框架
- 投资理论
- JTable的一些用法
- Deployment failure on Tomcat 5.x. Could not copy all resources to
- CentOS下MySql 5.0.x的安装、优化及安全设置
- Mysql中too many connections问题
- 自动备份数据库
- 出现“windows已经阻止此软件因为无法验证发行者”
- C# 委托(delegate)
- 获取页面内所有FLASH地址。。。
- 泛型