如何在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以获得执行此操作的渲染器。