做JAVA图形界面遇到了问题,求救!!
我是用JAVA去写了一个图形界面,并且需要把数据库中的数据以表格的形式显示在Jpanel容器上。
当我成功把一张表弄出来后,再点击按钮,想查看另外一张表。
但是,我点击按钮,读取另一张表的时候,Jpanel上没有变化,表的内容没变,但是当我把程序最小化再弹出来后,表就替换显示成功了。
我的写法是执行sql语句,把表格放在Jpanel上显示,当我需要替换另一张表格的时候,就把当前的图表给remove掉,再重新执行sql语句。按道理,它会直接显示出来,但是它却需要最小化后才能显示。我没写paint画图,应该没和双缓冲有关系把?
请问,这是什么问题造成的呢?我要怎样写才能使这个这些图表能瞬间完成互换显示。
求懂得朋友们指导。。。
------解决方案--------------------把原来的界面对象释放掉,重新new一个
------解决方案--------------------更新完图表后,repaint/updateUI 一次。
------解决方案--------------------
首先显示 表格 有JTable。更新 TableModel,JTable的显示会自动更新。
其次,最小化再恢复后可以显示说明经过一次重绘,这个应该是你更新数据后调用的,结果没有。
------解决方案--------------------
panel.repaint();
or
panel.updateUI();
panel 就是你显示图表的JPanel。
你没有override paintComponent方法的话,怎么使用JPanel显示的图表
------解决方案--------------------