JTable Autoscroll - PullRequest
       5

JTable Autoscroll

0 голосов
/ 24 июня 2010

Я добавляю метку в 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 Ответ

3 голосов
/ 24 июня 2010

Вызвать scrollRectToVisible (...) на столе после перемещения метки. Вы должны иметь возможность использовать границы метки в качестве прямоугольника для метода.

Edit:

Преобразуя приведенное выше предложение на английском языке в код Java, я бы попробовал что-то вроде:

table.scrollToRect( theBoundsOfTheLabel );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...