关于JTable,如何在第一列停止编辑时,用第一列值,为其他列赋值! 我现在的表格有三列,通常用户新增数据时,只填第一列的值,现在我想当用户停止第一列的输入后,就用第一列的值为第二列和第三列赋个默认值,有哪位大虾知道这个要怎么弄啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.table.*;import javax.swing.event.*;public class TestTableFrame extends JFrame{ private JTable table; private DefaultTableModel model; public TestTableFrame() { model = new DefaultTableModel(3, 3); model.addTableModelListener(new TableModelListener() { public void tableChanged(TableModelEvent event) { if (event.getColumn() == 0) { int row = event.getFirstRow(); Object data = model.getValueAt(row, 0); model.setValueAt(data, row, 1); model.setValueAt(data, row, 2); } } }); table = new JTable(model); add(new JScrollPane(table)); } public static void main(String[] args) { JFrame frame = new TestTableFrame(); frame.pack(); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }} 你的这种方法只实现了用第一列值去为第二列和第三列赋值,但是还是达到我的要求,其实应该用DefautCellEditor的stopCellEditing()方法,只要按照要求实现下这个方法,然后,当第一列停止编辑时,他会自动调用stopCellEditing()里的实现,然后做想要的操作,这里不止是赋值,还可以做校验,都是实时的! [求助]用java实现简单工厂模式下的计算器程序时出现的问题,求大侠指教! 连接打印机打印excel 各位,我认为c++没有java厉害,大家同意否? java 里的弹出试菜单的菜单项怎么不可以选! 我看只有高手才能解决这个问题了? 请问128M内存可以运行Weblogic Server ? Java调用MediaInfo.dll 谁能帮忙推荐几个关于Java的论坛? 怎么理解java的可移植性和.class文件的字节码格式? 关于多态。。 String类型变量存SQL SERVER2005数据库 关于JTextArea使用相关,请大侠有空帮看下!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;public class TestTableFrame extends JFrame
{
private JTable table;
private DefaultTableModel model;
public TestTableFrame()
{
model = new DefaultTableModel(3, 3);
model.addTableModelListener(new TableModelListener()
{
public void tableChanged(TableModelEvent event)
{
if (event.getColumn() == 0)
{
int row = event.getFirstRow();
Object data = model.getValueAt(row, 0);
model.setValueAt(data, row, 1);
model.setValueAt(data, row, 2);
}
}
});
table = new JTable(model);
add(new JScrollPane(table));
}
public static void main(String[] args)
{
JFrame frame = new TestTableFrame();
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
你的这种方法只实现了用第一列值去为第二列和第三列赋值,但是还是达到我的要求,其实应该用DefautCellEditor的stopCellEditing()方法,只要按照要求实现下这个方法,然后,当第一列停止编辑时,他会自动调用stopCellEditing()里的实现,然后做想要的操作,这里不止是赋值,还可以做校验,都是实时的!