GUI组件容器刷新问题

wanwan_cool 2007-10-06 07:47:10
各位大虾:
我在一个子JFrame里面 修改了数据库的数据,而主界面的显示数据 是从数据库中读取的,我在子JFrame的确定事件里面写了 主界面的容器的repaint();但 主界面的显示数据并没有更改,我的主界面显示数据的Panel是放在TabbedPane里面,而TabbedPane是放在 JSplitPane里面的,我在 事件里面试过Panel.repaint(),JSplitPane.repaint()等等都没有用,虚心请教解决方法。
...全文
225 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bradwoo8621 2007-10-12
  • 打赏
  • 举报
回复
model.fireStructureChanged()...
重新setModel, 卡通了点.
jaguarlsl 2007-10-08
  • 打赏
  • 举报
回复
主界面显示数据是否在子界面更新数据后重新从数据库获取了?如果仅仅是更新界面数据的话根本不需要使用repaint()方法
yuyu622 2007-10-08
  • 打赏
  • 举报
回复
呵呵,我的就更喜剧了,我是把窗体卸载了再加载一下,就刷新了,或者把表格的model刷新一下也就OK了,不过要求表格实例化时用了model才行,如果用了,来一句table.setModel(model);就OK了.
shengli_liao 2007-10-07
  • 打赏
  • 举报
回复
comp.valide
好象是这样的,忘了
qybao 2007-10-07
  • 打赏
  • 举报
回复
用Label的话重新设置一下数据就行了,比如
xxxlabel.setText("your_new_value");
repaint方法只是把容器上的东西重新画一遍,并不会改变label原来的值
AppleYang2006 2007-10-07
  • 打赏
  • 举报
回复
写个方法去读数据库的值然后赋值,你初始化的时候也应该是这样做的啊,把这块提出来写个方法,然后再在需要刷新数据的地方去调用这个方法.
你说的方法,不知道
wanwan_cool 2007-10-07
  • 打赏
  • 举报
回复
但我不可能每个Label都去重新设置一下啊,有没有方法能让装Label的容器刷新重新从数据库中读数据进而显示Label改编后的值,谢谢
qybao 2007-10-07
  • 打赏
  • 举报
回复
但我不可能每个Label都去重新设置一下啊,有没有方法能让装Label的容器刷新重新从数据库中读数据进而显示Label改编后的值,谢谢
---------------------
没有你要的这种方法
把容器比作一张桌子的桌面,label比作桌面上的一本书,本来桌面上放的是一本《java编程思想》,现在你经过一些数据库检索处理以后,需要把桌面上的书改变成《java核心技术》,这时你要做的不是去换桌面,而是去换那本书,知道吗?除非你的桌面和书是一体的,也就是你自己写一个类,但是底层的实现还是学要自己一个一个去设置的。
所以就像楼上说的,你把设置label的地方抽出来做个函数,以后每次要更新数据就调用该函数。
Davis129 2007-10-06
  • 打赏
  • 举报
回复
repaint是通过调用paint方法来达到刷新效果的,像楼上所说的如果你不是用paint方法显示数据的话,repaint是没有效果的
wanwan_cool 2007-10-06
  • 打赏
  • 举报
回复
我用的是Lable显示数据的,我用repaint()方法不就是强制刷新吗?
qybao 2007-10-06
  • 打赏
  • 举报
回复
LZ是怎么显示数据的,用paint或者paintComponent方法把数据画出来的?如果不是,你调用repaint方法也没意义的?如果是用table之类的显示数据的话,可以重新设置一个数据或刷新一下。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧