【发布时间】:2025-11-29 20:35:02
【问题描述】:
我正在编写管理足球运动员和俱乐部的应用程序 在尝试了很多想法之后,我真的停了下来,我找不到任何解决方案。
简单地说:我有一个JTable,我想在完成任何任务(插入、更新或删除)之后刷新它。
这是代码
//for fill the JTable
// class controllApp
class controllApp(){
public DefaultTableModel getCleubData() {
Vector<Vector<String>> data = new Vector<Vector<String>>();
Vector<String> colum = new Vector<String>();
colum.add("id_c");
colum.add("coach");
colum.add("nom_cleub");
colum.add("DATE_CREATION");
colum.add("COULEUR_MAILLOT");
colum.add("COUNTRY");
String query = "select id_c,coach,nom_cleub,date_creation,couleur_maillot,country from CLEUB ORDER BY ID_C";
try {
Connection conn = ReportDriver.connectDB(DB_CONNECTION, DB_USER,
DB_PASSWORD);
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
Vector<String> vstring = new Vector<String>();
vstring.add(rs.getString("id_c"));
vstring.add(rs.getString("coach"));
vstring.add(rs.getString("nom_cleub"));
java.sql.Date date = rs.getDate("date_creation");
java.text.DateFormat df = java.text.DateFormat.getDateInstance();
vstring.add(df.format(date));
vstring.add(rs.getString("couleur_maillot"));
vstring.add(rs.getString("country"));
vstring.add("\n\n\n\n\n\n\n");
data.add(vstring);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException ex) {
}
}
}
DefaultTableModel d = new DefaultTableModel(data, colum);
return d;
}
}
//fill frame in other class (frame classe)
// class frame() to call controllAPP.getJoueurdata()
class frame(){
private static JTable table1;
AbstractTableModel model;
model = new controllApp().getJoueurData();
table1 = new JTable(model);
JScrollPane scrollPane = new JScrollPane(table1);
scrollPane.setBounds(6, 29, 807, 297);
panel.add(scrollPane);
}
【问题讨论】:
-
为了尽快获得更好的帮助,请发布MCVE(最小、完整、可验证的示例)。硬编码一些数据以分解数据库。
-
scrollPane.setBounds(..)1) Swing GUI 可能必须在不同的平台上工作,使用不同的 PLAF,在不同的屏幕尺寸和分辨率上使用不同的字体大小默认设置。因此,它们不利于组件的精确放置。而是使用布局管理器,或 combinations of layout managers 以及 layout padding and borders 用于空白。 2) 使用逻辑一致的代码格式风格!代码缩进旨在帮助人们遵循程序流程。 -
哦,但是对于一个表格,我们通常会更新 表格模型,其余的都是自动的。
-
您对(插入、更新、删除)要求的哪一部分有疑问?是jdbc部分吗?它是GUI部分吗?两者都有吗?你有尝试过吗?
-
问题出在 gui 部分
标签: java swing insert jtable refresh