嘿,我需要你对code below的帮助。我使用netbeans,我有一个用户界面,我需要用我动态创建的那个表更新现有的滚动窗格,但我找不到最近3天的任何方法可以帮助我吗?
dbcon.Connect();
String[] columnNames = {"First Name",
"Last Name",
"Sport",
"# of Years",
"Vegetarian"};
Object[][] data = {
{"Kathy", "Smith",
"Snowboarding", new Integer(5), new Boolean(false)},
{"John", "Doe",
"Rowing", new Integer(3), new Boolean(true)},
{"Sue", "Black",
"Knitting", new Integer(2), new Boolean(false)},
{"Jane", "White",
"Speed reading", new Integer(20), new Boolean(true)},
{"Joe", "Brown",
"Pool", new Integer(10), new Boolean(false)}};
DefaultTableModel dtm = new DefaultTableModel(data,columnNames);
JTable table = new JTable(dtm);
// i created this table and can't update an existing Jscrollpane :(
我需要一种方法来重新填充将表重新绘制到现有滚动窗格的表格
有什么想法吗?
答案 0 :(得分:2)
您是否尝试过查看JScrollPane documentation?我认为做这样的事情应该有效:
DefaultTableModel dtm = new DefaultTableModel(data,columnNames);
table = new JTable(dtm);
JScrollPane scrollPane = new JScrollPane(table);
this.add(scrollPane, BorderLayout.CENTER);
答案 1 :(得分:1)
如果我正确阅读了问题,海报想要更新“现有”滚动窗格。
如果是这种情况,那么你只需:
scrollPane.setViewportView( table );
但是,如果滚动窗格中已有表,则甚至不需要创建新的JTable。您需要做的就是更新表的模型:
DefaultTableModel model = new DefaultTableModel(...);
table.setModel( model ):