簡體   English   中英

JTable,Celleditor,我如何開始CellEditing?

[英]JTable , Celleditor , how do i startCellEditing?

我有 JTable 和幾個單元格作為行(只有 1 列),在雙擊特定單元格時有文本框,用戶可以編輯單元格但我有一個單獨的編輯按鈕部分用於編輯單元格,因為沒有“startCellEditing”獲取 getCellEditor 的方法(只有 stopCellEditing 存在)

如果我調用 editCellAt(row,column) 方法(單擊編輯按鈕)它會刪除現有內容,並且用戶必須再次輸入整個內容。

我如何得到這種行為? 簡而言之,不是用戶雙擊要編輯的單元格,而是單擊編輯按鈕,如何實現相同的行為?

此代碼不會在單擊按鈕時清除單元格內容

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();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM