dtm.setValueAt(new Object[]{x}, 2,4);
改成dtm.setValueAt(String.valueOf(x), 2,4);
改成dtm.setValueAt(String.valueOf(x), 2,4);
解决方案 »
- 线程的一个问题
- 多线程运行结果为什么会这样,请高手帮忙
- InetAddress类中的 getByAddress(byte[] addr)的用法。小弟有点不明白!~
- jdk和jbuild的问题
- 如何学习 部署linux的尝试 大家可以互相学习啊
- 如何用java设置本地时间。
- 想转向JAVA不知道在WIN下开发用什么IDE最好。编译器也可以。
- 关于instanceof的问题(高手请进)
- 在集合里面有没有一个key可以对应多个值的类?
- JBUILDER3中怎样调用APPLETVIEWER
- 请教个NETBEANS国际化的问题
- The expression of type List needs unchecked conversion to conform to List<Guest>
改成dtm.setValueAt(new Integer(x), 2,4);然后去掉jt.updateUI(); 否则你多次触发事件会造成你所说的错误,请尝试
import java.awt.event.MouseEvent;
import java.util.Timer;
import java.util.TimerTask;import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;public class Tabletest { public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 表格部分
Object[] columnNames = { "编号", "类型", "安装位置", "浓度", "报警值", "断电值", "运行状态" };
Object[][] data = { { "编号", "类型", "安装位置", "浓度", "报警值", "断电值", "运行状态" },
{ "A001", "CH4", "综采工作面", "浓度", "80", "90", "正常" },
{ "A002", "CH4", "综采上隅角", "浓度", "80", "90", "正常" },
{ "A003", "CH4", "10201回风顺槽", "浓度", "80", "90", "断线" },
{ "A004", "CO", "辅助运输大巷", "浓度", "20", "24", "正常" },
{ "A005", "风速", "总回风巷", "浓度", "5", "8", "断线" } }; final DefaultTableModel dtm = new DefaultTableModel(data, columnNames);
final JTable jt = new JTable(dtm); jt.addMouseListener(new MouseAdapter() { @Override
public void mouseClicked(MouseEvent e) {
Timer executeSchedule = new Timer();
executeSchedule.schedule(new TimerTask() {
public void run() {
int x = ((int) (Math.random() * 99));
dtm.setValueAt(new Integer(x), 2, 4);
//jt.updateUI();
// area.setText(""+x);
}
}, 10, 300); } });
frame.getContentPane().add(jt);
frame.pack();
frame.setVisible(true); }}这是我测试后的代码,没有问题,你可以看看