java jtable刷新_java如何刷新JTable显示内容-问答-阿里云开发者社区-阿里云

参考示例代码:

User {

private String id;

private String name;

public User() {

}

public User(String id, String name) {

this.id = id;

this.name = name;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

UserTableModel extends AbstractTableModel {

private static final long serialVersionUID = 1L;

// 保存一个User的列表

private List users = new ArrayList();

// 设置User列表, 同时通知JTabel数据对象更改, 重绘界面

public void setUsers(List users) {

this.users = users;

this.fireTableDataChanged();// 同时通知JTabel数据对象更改, 重绘界面

}

public int getColumnCount() {

return 2;

}

public int getRowCount() {

return users.size();

}

// 从list中拿出rowIndex行columnIndex列显示的值

public Object getValueAt(int rowIndex, int columnIndex) {

User user = users.get(rowIndex);

if (columnIndex == 0) {

return user.getId();

} else {

return user.getName();

}

}

}

public class userjtable {

public static void main(String args[]) {

JFrame frame = new JFrame();

frame.setBounds(100, 100, 500, 375);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JTable table = new JTable();

final UserTableModel userTableModel = new UserTableModel();

userTableModel.setUsers(Arrays.asList(new User("1", "fuxueliang")));

table.setModel(userTableModel);

frame.getContentPane().setLayout(new BorderLayout());

frame.getContentPane().add("Center", table);

JButton button = new JButton("Change Model");

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String current = String.valueOf(System.currentTimeMillis());

// 注意:这里修改了UserTableModel的list, 这个list可以是你从数据库上查出来的

userTableModel.setUsers(Arrays.asList(new User("2", current)));

}

});

frame.getContentPane().add("South", button);

frame.setVisible(true);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值