JTable,Celleditor,我如何startCellEditing?

时间:2011-07-01 10:16:52

标签: java jtable tablecelleditor

我有JTable和几个Cell作为具有Textboxes的行(只有1列)  在双击特定单元格时,用户可以编辑单元格  但我有一个单独的编辑按钮部分应用程序用于编辑单元格  因为获取getCellEditor没有“startCellEditing”方法(只有stopCellEditing存在)

如果我调用editCellAt(行,列)方法(单击编辑按钮),则删除现有内容,用户必须再次输入整个内容。

我如何得到这种行为? Inshort,而不是用户双击要编辑的单元格,他点击编辑按钮,如何实现相同的行为?

1 个答案:

答案 0 :(得分:0)

此代码不会在按钮单击

上清除单元格内容
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Test extends JFrame {

    public Test() {

        DefaultTableModel tableModel = new DefaultTableModel();
        tableModel.setRowCount(2);
        tableModel.setColumnCount(2);
        tableModel.setValueAt("Foo", 0, 0);
        final JTable t = new JTable(tableModel);

        JPanel comp = new JPanel(new BorderLayout());
        getContentPane().add(comp);

        comp.add(t, BorderLayout.CENTER);
        JButton edit = new JButton("Edit");
        edit.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                t.editCellAt(0, 0);
            }
        });
        comp.add(edit, BorderLayout.SOUTH);

        pack();
        setVisible(true);

    }

    public static void main(String[] args) {
        new Test();
    }
}