我是靠谱客的博主 怕黑石头,最近开发中收集的这篇文章主要介绍关于JTable设置数据源以及获取焦点行数据问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这两天完成了一个学生信息管理系统,其中Swing做界面,mysql为数据库。

其中,显示数据库的数据我是用的JScrollPane中添加Jtable的方法做的,把数据库的内容作为数据源显示在JTable中,以下是相关代码:

JFrame中

table = new JTable(new MyTableModel(list)); //传入数据源
jsp = new JScrollPane(table);
table.setBounds(0, 0, 600, 400);
jsp.setBounds(50, 70, 600, 400);

特别还注意的是要设置新的数据源信息可以用table.setModel(new MyTableModel(list));方法

数据源  MyTableModel中

public class MyTableModel extends AbstractTableModel
{
StudentImpl si = new StudentImpl();
        //表头
String[] names = null;

//数据
String[][] datas = null;

public MyTableModel(List<StudentBean> list)//构造函数传入数据源信息
{
/*构造数据*/
names = getNames();
if(list==null){
list = si.getAll();
}

datas = new String[list.size()][];

for(int i=0;i<list.size();i++)
{
StudentBean sb = list.get(i);
String gender = null;
if(sb.isGender()){
gender = "男";
}
else gender = "女";
datas[i] = new String[]{sb.getSno()+"",sb.getSname(),sb.getAge()+"",gender,sb.getBirthday()+""} ;
}

}

在做到删除功能时,我有些犹豫,本来想通过再创建个jFrame然后传id删的,但考虑再三后觉得不太妥,于是百度了下如何获取JTable中焦点行的数据,以下是相关代码:

String num = "" + table.getValueAt(table.getSelectedRow(),0).toString();//得到选中行的学号,其中getSelectedRow()方法取得所在选择的行,参数0代表该行的第一列。

要获得焦点行所在的所有列的数据,只需对参数加个循环即可。


最后

以上就是怕黑石头为你收集整理的关于JTable设置数据源以及获取焦点行数据问题的全部内容,希望文章能够帮你解决关于JTable设置数据源以及获取焦点行数据问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部