JTable Autoscroll

时间:2010-06-24 10:12:15

标签: java jtable scroll

我正在向JTable添加标签并将mouseMotionListener事件添加到标签。标签在mouseDragged事件的表格中移动。该表包含50多列,在任何时间点只能看到15列。现在如果我想将标签移动到同一行的另一侧,我无法在不移动滚动条的情况下移动标签。是否可以在拖动标签时自动移动滚动条?

JTable table = new JTable(model);
JLabel label = new JLabel();
label.setBounds(100,50,80,20);
table.add(label);
label.addMouseMotionLister(new MouseMotionListener()
{
public void mouseDragged(MouseEvent arg0)
{
label.setBounds(label.getX()+arg0.getX(),Y,width,height);
}

1 个答案:

答案 0 :(得分:3)

移动标签后,在表格上调用scrollRectToVisible(...)。您应该能够使用标签的边界作为方法的Rectangle。

编辑:

将上述建议用英语转换为Java代码我会尝试类似:

table.scrollToRect( theBoundsOfTheLabel );