关于swing中jtable的单元格动态显示的问题,急--- dtm.setValueAt(new Object[]{x}, 2,4);改成dtm.setValueAt(String.valueOf(x), 2,4); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dtm.setValueAt(new Object[]{x}, 2,4); 改成dtm.setValueAt(new Integer(x), 2,4);然后去掉jt.updateUI(); 否则你多次触发事件会造成你所说的错误,请尝试 package test;import java.awt.event.MouseAdapter;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); }}这是我测试后的代码,没有问题,你可以看看 这些题你们能解答么? java中怎么实现组件随对话框的大小改变 播放音频问题 一个java初级的问题~~ 请问用JAVA什么获得当前系统的盘符(window) 或 文件目录(liunx) 各位老大,一个小问题,请大家帮下忙,不然工作就悬了... JDK5.0的新特点 j2ee的基础的问题! 编译问题!? 如何下载SUN的API,50分送第一人 请教个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); }}这是我测试后的代码,没有问题,你可以看看