JAVA中怎么把list或map里的值动态添加至JTable

我定义了两个全局数组StringrentalBar[]={"车牌号","车型","颜色","使用时间","日租金","卡车载重"};//这是JTable列标题String... 我定义了两个全局数组
String rentalBar[] = {"车牌号","车型","颜色","使用时间","日租金","卡车载重"};//这是JTable列标题
String returnDatabase[][] = {{"","","","","",""}};

构造函数里实例化了一个JTable将数组添加至,具体就不写了:
rentalTable = new JTable(rentalDatabase,rentalBar);

然后有一个信息录入面板,录入信息种类跟上面renalBar数组中的各个元素一致
当我点击按钮提交信息时,各个种类的信息添加至list
protected void add_ActionPerformed(ActionEvent e){
DatebaseManager dm = new DatebaseManager();
Vehicle car = new Car();
Truck truck = new Truck();
String licensePlateNumber = newCarTitleTF[0].getText();
String arctic = newCarTitleTF[1].getText();
String color = colorChoice.getSelectedItem().toString();
String hoursOfuse = newCarTitleTF[3].getText();
String rentOfday = newCarTitleTF[4].getText();
String truckLoad = newCarTitleTF[4].getText();
if(choiceCarOrTruck()){
car.setLicensePlateNumber(licensePlateNumber);
car.setArctic(arctic);
car.setColor(color);
car.setHoursOfuse(hoursOfuse);
car.setRentOfday(rentOfday);
boolean isAdd = dm.addToDatebase(list, car);
if(isAdd){
JOptionPane.showMessageDialog(this, "添加轿车成功!", null,JOptionPane.INFORMATION_MESSAGE);
System.out.println(list);
}else{
JOptionPane.showMessageDialog(this, "添加轿车失败!", null,JOptionPane.WARNING_MESSAGE);
}
}else{
truck.setLicensePlateNumber(licensePlateNumber);
truck.setArctic(arctic);
truck.setColor(color);
truck.setHoursOfuse(hoursOfuse);
truck.setRentOfday(rentOfday);
truck.setTruckLoad(truckLoad);
boolean isAdd = dm.addToDatebase(list, truck);
if(isAdd){
JOptionPane.showMessageDialog(this, "添加卡车成功!", null,JOptionPane.INFORMATION_MESSAGE);
System.out.println(list);
}else{
JOptionPane.showMessageDialog(this, "添加卡车失败!", null,JOptionPane.WARNING_MESSAGE);
}
}
}
问题来了,我实例化了一个刷新按钮,如何实现点击刷新按钮后就将list中的对象的属性值展示到JTable?
展开
 我来答
天煞遊魂
2015-10-27
知道答主
回答量:38
采纳率:0%
帮助的人:9.6万
展开全部
首先,循环list或者map
再次,就是在循环的时候,把list或者map中的值取出来放到JTable里面
如: for(int i=0;i<list.size();i++){
JTable table = new JTable();
..... //这个地方就可以创建JTable的 列和行了,或者你在里面定义好字符串然后在列表外面把他们加进去
}
千锋教育
2015-12-10 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
  JTable的setModel方法即可
  以JTable为例,API中说明如下:
  public void setModel(TableModel dataModel)
  将此表的数据模型设置为 newModel,并向其注册以获取来自新数据模型的侦听器通知。
  参数:
  dataModel - 此表的新数据源,TableModel 接口指定了 JTable 用于询问表格式数据模型的方法。定义了表格要展示的数据,并控制是否允许修改,数据更新的监听。
  提示:具体代码以具体业务中的逻辑而编写,所以无法给出具体代码,代码可自行百度搜索!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-20
展开全部
private DefaultTableModel listRecords = null; //类变量
private String []headings={"姓名", "年龄", "班级", "学校"};

void init(){
listRecords= new DefaultTableModel(null, this.headings);//初始化,headings是标题的数组
jtable.setModel(this.listRecords);//初始化表格
..............
}

在要添加数据的时候,调用
listRecords.addRow(xxxx);//参数是数组,表示一行。数组和标题一样的长度。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
abcwt112
2013-12-18 · TA获得超过281个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:186万
展开全部
DefaultTableModel 中有addColumn方法可以添加列,然后JTable中有setModel方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式