如何在 Java 中动态显示表格中的内容
How do I dynamically display contents in tables in Java
我需要在Java中以表格形式动态显示一些内容。内容包括以 JSON 格式从 API 中获取的数据。在每一行的末尾,我还需要显示一个复选框。行数是动态的,列数是固定的。我该怎么做?
table 将有以下列:
- 索引
- 用户名
- 上传日期
- 百分比
- 匹配结果
- [复选框]
终于找到了这个问题的答案。我们可以使用 class DefaultTableModel 和 Java swing class JTable 动态创建 table。
model = new DefaultTableModel();
设置列
model.setColumnIdentifiers(new Object[]{"Index","User","Reg no.","Match"});
jTable1.setModel(model);
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
jTable1.setFillsViewportHeight(true);
jScrollPane1.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jScrollPane1.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
添加 JSON 响应中的行
for(int i=0;i< jsonArr.size();i++)
{
str = jsonArr.get(i).toString();
jsonObj = (JSONObject)parser.parse(str);
String sub = jsonObj.get("subid").toString();
String uname = jsonObj.get("username").toString();
String regno = jsonObj.get("regno").toString();
String percent = jsonObj.get("percent").toString();
model.addRow(new Object[]{sub,uname,regno,percent});
}
我需要在Java中以表格形式动态显示一些内容。内容包括以 JSON 格式从 API 中获取的数据。在每一行的末尾,我还需要显示一个复选框。行数是动态的,列数是固定的。我该怎么做?
table 将有以下列:
- 索引
- 用户名
- 上传日期
- 百分比
- 匹配结果
- [复选框]
终于找到了这个问题的答案。我们可以使用 class DefaultTableModel 和 Java swing class JTable 动态创建 table。
model = new DefaultTableModel();
设置列
model.setColumnIdentifiers(new Object[]{"Index","User","Reg no.","Match"});
jTable1.setModel(model);
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
jTable1.setFillsViewportHeight(true);
jScrollPane1.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jScrollPane1.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
添加 JSON 响应中的行
for(int i=0;i< jsonArr.size();i++)
{
str = jsonArr.get(i).toString();
jsonObj = (JSONObject)parser.parse(str);
String sub = jsonObj.get("subid").toString();
String uname = jsonObj.get("username").toString();
String regno = jsonObj.get("regno").toString();
String percent = jsonObj.get("percent").toString();
model.addRow(new Object[]{sub,uname,regno,percent});
}