jtable中存在了一些数据,现在我要追加一条记录,我向数据库中添加了一条记录??
jtable中存在了一些数据,现在我要追加一条记录,我向数据库中添加了一条记录,想同时在jtable中显示该数据集,我重新加载model,是否要可用原来的jtable???但是我用时
发现不更新数据集,请问何故???此法是否可以???
同时我也试用了追加的model的方法。有问题呀!
DefaultTableModel model = new DefaultTableModel();
Vector v = new Vector();
for (int m=0;m<17;m++)
v.addElement(((JTextField)JT.get(m)).getText());
model.addRow(v);
tableView.setModel(model);
jScrollPane1=new JScrollPane(tableView);
contentPane.add(jScrollPane1,new XYConstraints(18, 257, 757, 218));
高手帮帮忙!!!
问题点数:100、回复次数:7Top
1 楼CitySir(城里人)回复于 2002-12-20 09:00:06 得分 0
老兄,应该用model.setDataVector(Vector newData, Vector columnNames)函数来设置DefaultTableModel的列名和内容。你没有设置表模型有多少列,JTable怎么可能识别TableModel呢?Top
2 楼ustcluozhengliang(jobs)回复于 2002-12-20 09:18:20 得分 0
to CitySir(豆豆)你好,我是想追加~!Top
3 楼ustcluozhengliang(jobs)回复于 2002-12-20 09:54:55 得分 0
简单问题没有人回答呀!·!!
是不是我应用已显示数据的 model
我用了AbstractTableModel
会抛出exception
Exception occurred during event dispatching:
java.lang.ClassCastException: schoolmain.JDBCAdapter
at schoolmain.Framestudentif.JBSave_actionPerformed(Framestudentif.java:364)
at schoolmain.Framestudentif$6.actionPerformed(Framestudentif.java:168)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216)
at java.awt.Component.processMouseEvent(Component.java:3715)
at java.awt.Component.processEvent(Component.java:3544)
at java.awt.Container.processEvent(Container.java:1164)
at java.awt.Component.dispatchEventImpl(Component.java:2593)
at java.awt.Container.dispatchEventImpl(Container.java:1213)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
at java.awt.Container.dispatchEventImpl(Container.java:1200)
at java.awt.Window.dispatchEventImpl(Window.java:914)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)
请帮忙解决一下嘛!小弟急呀!!
Top
4 楼ustcluozhengliang(jobs)回复于 2002-12-20 09:57:33 得分 0
分不够说,把我的分全给你!同时,我前面的想法是否正确呀!
要编辑??
操作数据库来更新jtable的想法好象效力不高!
请指教呀。。
Top
5 楼yuanqigao(好男人)回复于 2002-12-20 10:12:44 得分 0
好像是,DefaultTableModel的初始化不行
表数据的刷新应该很简单的问题啊
http://www.qigaonet.comTop
6 楼ustcluozhengliang(jobs)回复于 2002-12-23 15:12:22 得分 0
我自己解决了 !Top
7 楼freejacky(免费的杜松子酒)回复于 2002-12-23 15:23:26 得分 100
DefaultTableModel model = new DefaultTableModel();
Vector v = new Vector();
for (int m=0;m<17;m++)
v.addElement(((JTextField)JT.get(m)).getText());
model.addRow(v);
tableView.setModel(model);
jScrollPane1=new JScrollPane(tableView);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
new了个新的,可是界面上显示的还是原来的那个啦!
不需要new,只要指向就OK
contentPane.add(jScrollPane1,new XYConstraints(18, 257, 757, 218));
Top




