问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JTable的刷新问题,快疯了~~

发布网友 发布时间:2023-09-20 07:45

我来回答

2个回答

热心网友 时间:2023-09-20 11:01

我的刷新问题是这样解决的
首先定义一个模式,也就是jTable可以支持刷新的模式(默认情况下不支持刷新)
DefaultTableModel model = new DefaultTableModel("数组名称,为object型", “字列的名称如日期,名称等”);
jtable.setModel(model); //设置这个模式后,可以动态地改变里面的数据
然后再添加刷新:jt.repaint();
我的初始显示部分程序是这样的
public void jButton1_actionPerformed(ActionEvent e) { //显示引水调度图
JFrame jf = new JFrame("水库引水调度计算结果");
JPanel jp3 = new JPanel(new XYLayout());
for (int i = 0; i < 69; i++) {
jc.addItem((1935 + i) + "年~" + (1936 + i) + "年");
}
jf.setBounds(5, 5, 1000, 730);
jf.setLayout(new BorderLayout(10, 10));
Container contenPane = jf.getContentPane();
BorderLayout borderlayout1 = new BorderLayout();
JLabel label = new JLabel("水库引水调度");
label.setFont(new java.awt.Font("黑体", Font.PLAIN, 26));
JLabel label2 = new JLabel("引水调度数据表", JLabel.CENTER);
label2.setFont(new java.awt.Font("宋体", Font.PLAIN, 16));
Object[][] allResult = new Object[37][7];
for (int i = 0; i < 36; i++) { //将流量放入object数组中
allResult[i][0] = aga.yearAGA[i];
allResult[i][1] = aga.inflowAGA[i];
allResult[i][2] = (float) ((int) (aga.bestOutFlow[i] * 100) /
100.0f);
allResult[i][3] = (float) ((int) (aga.sumAGA[i] * 100) / 100.0f);
allResult[i][4] = (float) ((int) (aga.bestQR[0][i] * 100) / 100.0f);
allResult[i][5] = (float) ((int) (aga.wasteWater[i] * 100) / 100.0f);
allResult[i][6] = (float) ((int) (aga.bestWaterEvel[i] * 100) /
100.0f);
}
String[] Name = {"日期", "天然来水量(10**6)", "实际供水量(10**6)", "设计供水量(10**6)",
"实际引水量(10**6)", "弃水量(10**6)", "末水位(m)"};
jt = new JTable(allResult, Name);
jp1.setSize(new Dimension(500, 470));
jP2.setLayout(new BorderLayout());
jP2.setBackground(SystemColor.window);
jt.setPreferredScrollableViewportSize(new Dimension(500, 440));
jP2.add(label2, BorderLayout.NORTH);
jP2.add(new JScrollPane(jt), BorderLayout.CENTER);

AllFlow c = new AllFlow(500, 630, 36, 63, 0); //画折线图类
c.setBackground(SystemColor.window);
jp1.setLayout(borderlayout1);
jp1.add(new JScrollPane(c), borderlayout1.CENTER);
jp1.setBackground(SystemColor.window);

js1 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, false,
jp1, jP2);
js1.setDividerLocation(500); //设置splitPane1的分隔线位置
js1.setOneTouchExpandable(true);
js1.setDividerSize(10);
jp3.add(label, new XYConstraints(350, 18, 450, 35));
jp3.add(jc, new XYConstraints(600, 18, 120, 25));
contenPane.add(jp3, BorderLayout.NORTH);
contenPane.add(js1, BorderLayout.CENTER);
jt.repaint();
jP2.repaint();
jp1.validate();
jc.setVisible(false);
jf.setVisible(true);
}

//然后再点下拉框的程序,可以从数据库中读取数据动态更新

public void jc_itemStateChanged(ItemEvent e) { //不同的年份,操作流量图的
for (int i = 0; i < 69; i++) {
if (((1935 + i) + "年~" + (1936 + i) +
"年").equals(jc.getSelectedItem())) {
Object[][] allResult = new Object[37][7];
for (int j = i * 36; j < (i + 1) * 36; j++) { //将流量放入object数组中
allResult[j % 36][0] = aga.yearAGA[j];
allResult[j % 36][1] = aga.inflowAGA[j];
allResult[j %
36][2] = (float) ((int) (aga.bestOutFlow[j] * 100) /
100.0f);
allResult[j %
36][3] = (float) ((int) (aga.sumAGA[j] * 100) /
100.0f);
allResult[j %
36][4] = (float) ((int) (aga.bestQR[0][j] * 100) /
100.0f);
allResult[j %
36][5] = (float) ((int) (aga.wasteWater[j] * 100) /
100.0f);
allResult[j %
36][6] = (float) ((int) (aga.bestWaterEvel[j] * 100) /
100.0f);
}
String[] Name = {"日期", "天然来水量(10**6)", "实际供水量(10**6)",
"设计供水量(10**6)", "实际引水量(10**6)", "弃水量(10**6)",
"末水位(m)"};
DefaultTableModel model = new DefaultTableModel(allResult, Name);
jt.setModel(model);
jp1.removeAll();
AllFlow c = new AllFlow(500, 630, 36, 63, i); //画折线图类
c.setBackground(SystemColor.window);
jp1.setLayout(new BorderLayout());
jp1.add(new JScrollPane(c), new BorderLayout().CENTER);
jp1.setBackground(SystemColor.window);
jt.repaint();
jP2.repaint();
jp1.validate();
}
}
}

热心网友 时间:2023-09-20 11:02

发代码看看!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单机组装6000元预算,INTEL和AMD下不同的配置方案 手上有5000元,想DIY一台台式机,主要是玩大型单机游戏,像孤岛危机2。求... ...及各自优点缺点和如何修改。。 CPU 至强 E3 1230 v2主板 微星Z... 求配家用游戏电脑4000-6000 嘴巴上长水泡怎么办? 嘴巴旁边长了水泡怎么回事 他不回信息的句子 市面上有哪些浪漫又个性的牛仔单品值得入手? 2021年流行什么外套显瘦不挑身材 夏季有哪些百搭又显高级的单品值得选择? 夏天温泉好玩吗 爱一个人并不要得到但是我会真心对待 用英语怎么说 善良的心去对待他人英语怎么说,要专 我希望你能用你的真心来对待身边爱你的人用英文怎么说 英语翻译 只有真心对待别人,才能换回别人的真心,那样会伤的很彻底_百度... ...学会赞美别人,学会相互尊重,学会接受别人,学会真心待人.用英语... 江南水乡在哪 电脑自动关机像直接断电一样,请问是什么原因 电脑突然断电关机,最近电脑老是突然关机(象直接拔电源)。有时用几... 电脑瞬间关机,像断电一样 关机状态下在通电瞬间的立马断电,电脑硬件会受损吗? 罗技g502可以连接pps5吗 中国工商银行的ATM机上可以给电话缴费么 怎么用java程序,查MXRecord 供冷气时间有法律规定吗 意生缘牌蜂胶是真的吗? 意生缘蜂胶发布会真假 普陀山6月份去好吗 中国移动宽带套餐有哪些 8M包年只要680元 ...8月19号的时候在移动办理了宽带业务,当时交了680,其中580是预存的... JTable中更新数据时,列表的显示问题 swing 怎样实现表格内容刷新 JTable刷新表头。。 大港油田德邦快递如何收费 ...对我不好一个人带着孩子连安身的地方也没有怎么办? 转职后sp竟然只有546 546波长是什么光 546nm等于多少m 用波长546nm单色平行光线垂直入射在宽度为0.45mm的单缝,缝后放置一焦距... 广西人是不是喜欢养鸟 十一万九千元阿拉伯数字怎么写 劲锐怎么样 ...淘宝卖家 请了一位客服 如果买家发消息 怎么转到客服里? 网银年费计入什么科目 2015年金马影帝是谁?他获奖的电影叫什么名字 拍分期怎样填写分期产品资料 我说话略微有点口吃,就是说快了第一个字会结巴,但有时候说得很溜,像... 《星盟冲突》前期什么蓝图好用 前期蓝图道具选择攻略 什么样的移动电视好? 2004款陆尊G L8燃油泵继电器线路故障排除