JTable显示数据,当我修改后,显示的数据是修改后的数据,可再点击被修改的列时,又成了未修改前的数据

JTable显示数据,当我修改后,显示的数据是修改后的数据,可再点击被修改的列时,又成了未修改前的数据,第1张

看你的 列上是否加了- 事件 - 点击的时候执行了代码,还是点击的时候 JTable 刷新了,这要看JTable 文档 。这种事自己要查,才学得快的,问是最快,但不一定是最好的方法哦!

1、windowOpened()这个窗体触发事件,

2、建立一个数据显示方法,然后可以调用这个方法,把数据添加到数据库里面,然后再调用这个方法,就可以实现刷新显示的功能了

3、构建一个数据库连接类,最好是PUBLIC

STATIC的,这样可以直接调用到

例:PUBLIC

STATIC

CONNECTION

CONN(){

数据库连接

return

返回值;

}

4、遵守代码书写规范

过程如下:

1、建立按钮的事件响应方法,调用以下代码功能:

2、通过JDBC或其它方式连接数据库,执行查询,获取结果

3、将返回结果转换为一个二维数组,作为参数创建JTable

当然要功能更完善,以上方法有很多方面需要考虑和修改,如进行模块划分、使用TableModel而不是数组显示JTable、表头的显示等,这些需要根据目的逐个改进,但大体过程基本一样。

问题比较明显,就是Vector是空的。

按照你的想法,其实应该是把查询到的数据放在一个Vector里面,然后让JTable显示,想法没有错,但是做法错了。

Vector dataVector = null;

table = new JTable(dataVector, getAgencyColumnVector());

这两句说明刚定义一个Vector,赋值为空,就把它放入了JTable中。

你点击按钮是会进入到你写的getSearchVector方法中的,但是这个方法执行完后,返回了一个Vector,而且这个里面包括数据库中的数据,但是你没有使用这个返回值,导致白做了一遍数据库查询。

建议你在类中建立一个Vector属性,然后在getSearchVector方法内部使用这个Vector,然后JTable中也使用这个Vector,就OK啦!

在jTablesetModel(tables);之后刷新一下jpanel,比如你的jpanel叫 jp1

jp1validate();

或者

jp1updateUI();

试试

以上就是关于JTable显示数据,当我修改后,显示的数据是修改后的数据,可再点击被修改的列时,又成了未修改前的数据全部的内容,包括:JTable显示数据,当我修改后,显示的数据是修改后的数据,可再点击被修改的列时,又成了未修改前的数据、JTable和数据库、java 如何实现点击一个查询按钮后将数据库里相对应的内容显示在JTable里面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10138405.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存