如何在JTable中设置插入符号位置?

我知道JTextField具有setCaretPosition(n)功能。但是我无法访问JTable中的JTextField。

我希望表格文字的插入位置等于文字的长度。可能会发生mouseclick事件,但它应该处于正常位置。

我的代码:

public class TableTest extends javax.swing.JFrame
{

    public TableTest()
    {
        javax.swing.JTable jTable1 = new javax.swing.JTable();

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
                new Object[][]
                {
                    {
                        "This is too long text!", "This is too long text!",
                    },
                    {
                        "This is too long text!", "This is too long text!",
                    }
                },
                new String[]
                {
                    "Title 1", "Title 2",
                }
        ));

        add(jTable1);

        pack();

        setDefaultCloseOperation(EXIT_ON_CLOSE);

        setLocationRelativeTo(null);
    }
    public static void main(String args[])
    {
        new TableTest().setVisible(true);
    }

}


该表单元格显示:
[这太...],但应该是[..长文字!]

最佳答案

该表单元格显示:[这太...],但应为[..长文本!]


这是在单元格中显示文本的渲染器。默认渲染器是JLabel,当文本被截断时它将显示...。如果要在单元格的开头使用...,则需要创建一个自定义渲染器。

签出Left Dot Renderer以获得执行此操作的渲染器。

07-26 01:51