我想将不同方法中的列添加或插入到一个表中。无法清楚地解释它,但我会向您展示我的代码以便理解......例如。
(....)
DefaultTableModel dtm = new DefaultTableModel();
JTable table = new JTable();
Constructor(){
table.setModel(dtm);
(.....)
}
public void methodOne(){
String id = num.getText();
rs = stat.executeQuery("SELECT * FROM payments;");
Vector<String> header = new Vector<String>();
header.add("PAYMENT");
header.add("AMOUNT");
header.add("MODIFIER");
header.add("DATE MODIFIED");
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
while(rs.next()) {
Vector<Object> row = new Vector<Object>();
row.add(rs.getString("description"));
row.add(rs.getString("amount"));
row.add(rs.getString("remarks"));
row.add(rs.getString("date"));
data.add(row);
} // loop
dtm.setDataVector(data , header);
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setBounds(0,0,490,250);
panel.add(scrollPane);
validate();
}
public void methodTwo(){
(.....)
rs = stat.executeQuery("SELECT * FROM record where idNum ='"+id+"';");
while(rs.next()){
Vector<Object> row = new Vector<Object>();
row.add(rs.getString("description"));
row.add(rs.getString("amount"));
row.add(rs.getString("remarks"));
row.add(rs.getString("date"));
data.add(row);
} // while
}
行内的值是我要在我的表上添加的值,我对如何识别我没有任何想法..我希望它是这样的:
首先,当你运行java时,它将自动创建一个表
http://i1023.photobucket.com/albums/af355/guiacustodio/javaaaaaaaaaaaaaaaaaaaaaaa_zpse9a22225.jpg
我有一个按钮和文本字段我在文本字段输入数字,即
[PAY BUTTON] TextField:[ _ _100]
我点击了按钮,这将会发生:
答案 0 :(得分:0)
首先,您使用的数据Vector是在methodOne中定义的,因此无法通过methodTwo访问相同的数据。
其次不是因为在表模型中有数据被添加到表模型中,你必须调用其中一个触发gui中刷新事件的方法,通常是在tablemodel上调用fireTableChanged方法添加数据后。
Thridly:有一个名为GlazedLists的有趣库,可以自动处理很多这些事情!