如何在Java中动态显示表中的内容

时间:2016-04-10 12:24:04

标签: java json dynamic awt

我需要在Java中以表格形式动态显示一些内容。内容包括以JSON格式从API获取的数据。在每行的末尾,我还需要显示一个复选框。行数是动态的,列是固定的。我该怎么做?

该表格包含以下列:

  1. 索引
  2. 用户名
  3. 上传日期
  4. 百分比
  5. 匹配结果
  6. [复选框]

1 个答案:

答案 0 :(得分:0)

终于找到了这个问题的答案。我们可以使用类DefaultTableModel和Java swing类JTable动态创建表。

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});            
}