小编use*_*874的帖子

如何在编辑时选择JTable单元格中的所有文本

我想让我的可编辑JTable中的编辑器在开始编辑时选择单元格中的所有文本.我尝试了一些事情,都围绕从TableCellEditor.getTableCellEditorComponent方法返回的组件上调用JTextComponent.selectAll().我尝试过的所有事情都没有.

在我最近的尝试中,我改变了Swing教程中的SimpleTableDemo类,以使用调用selectAll方法的自定义TableCellEditor.在调试器中,我可以看到正在调用selectAll()方法,但是表仍然进入编辑模式而不选择单元格中的文本(或者可能在显示之前清除选择).该代码如下.谁能告诉我哪里出错了?

import javax.swing.DefaultCellEditor;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import javax.swing.text.JTextComponent;


import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;


public class SimpleTableDemo extends JPanel {
    private boolean DEBUG = false;


    public SimpleTableDemo() {
        super(new GridLayout(1, 0));

        String[] columnNames = {"First Name",
                                "Last Name",
                                "Sport",
                                "# of Years",
                                "Vegetarian"};

        Object[][] data = {
                {"Kathy", "Smith", "Snowboarding", new Integer(5), new Boolean(false)},
                {"John", "Doe", "Rowing", new Integer(3), new Boolean(true)},
                {"Sue", …
Run Code Online (Sandbox Code Playgroud)

java swing jtable

12
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×1

jtable ×1

swing ×1