【发布时间】:2012-08-25 21:14:48
【问题描述】:
我使用 NetBeans GUI 构建了一个 jTable,我想在类的构造函数中更新它。我打算在框架上添加一个搜索选项,所以整个更新想法对我来说非常重要。
我的代码:
public availableTrumps(TrumpistClient TC){
initComponents();
availableTrumpsTrumpistClient=TC;
String result=null;
String query="SELECT * FROM APP.TRUMPS";
result=this.availableTrumpsTrumpistClient.WritingReading("sql_select", query);
if (result.contains("empty")){
JOptionPane.showMessageDialog(this, "There are now trumps to show.");
}
else if (result.contains("error")){
JOptionPane.showMessageDialog(this, "Error in the connection. Please try again.");
}
else{
int i;
String []data = result.split("\r\n");
String [][] data2 = new String [data.length][];
for (i = 0; i < data.length; i++)
{
data2[i] = data[i].split("&");
}
String[] columnNames = {"From", "To", "Departure Time", "Remaining Places", "Proposer", "ClosingTime", "Cost Per Seat" };
this.jTable1 = new JTable(data2,columnNames);
this.jTable1.setPreferredScrollableViewportSize(new Dimension(500,100));
this.jTable1.setFillsViewportHeight(true);
JScrollPane jps = new JScrollPane(jTable1);
add(jps);
jTable1.revalidate();
}
}
输入的二维数组 data2 很好并且经过验证。 我添加了代码的最后 5 行,看看它们是否有帮助。我不知道它们是否是强制性的,并且无论如何我都不想更改我用 GUI 构建的 jTable 的图形属性(只是其中的数据)。 当我运行程序时,我看到 jTable 仍然是空的。 为什么?
【问题讨论】:
-
如果您使用 Netbeans 表单编辑器构建 GUI,为什么还要添加另一个 JTable?
-
您正在创建一个新的
JTable和JScrollPane,但不会替换旧的。你应该只需要一个——改变表数据应该通过表的模型来完成。 -
已考虑,现在正在工作。谢谢。
-
"jTable .. 搜索选项" 提示:1)
JTable使用正确的大写字母 2) 搜索功能使用TableRowSorter。
标签: java swing user-interface jtable