Java scrollRectToVisible странная прокрутка

Я сделал пользовательский компонент таблицы в Java, и мне любопытно, почему scrollRectToVisible всегда прокручивается в правую нижнюю точку прямоугольника ввода.

Есть ли способ, как сказать родительский компонент, чтобы попытаться просмотреть весь прямоугольник? Потому что это не смешно, когда вы хотите автоматически прокрутить строку таблицы, и она всегда просто просматривает нижнюю часть нужной строки таблицы.

*РЕДАКТИРОВАТЬ

private JPanel box = new JPanel();
private JScrollPane scroll = new JScrollPane(box, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
public void scrollTo(int index){
    if(datas.size() != 0){
        JPanel panel;
        if(index < 0){
            index = 0;
        }else if(index >= datas.size()){
            index = datas.size() - 1;
        }
        panel = datas.get(index);
        Rectangle rectangle = panel.getBounds();
        if(index != 0){
            rectangle.setLocation(0, rectangle.y + 1);
        }
        box.scrollRectToVisible(rectangle);
    }
}

1 ответ

Решение

*РЕШЕНИЕ
Ну да ладно, неважно, я обнаружил проблему. Он прокручивался в правый нижний угол, потому что по какой-то причине во время конструктора getVisibleRect сообщал, что все данные равны нулю, но после создания целого фрейма он начал прокручиваться в нормальное положение:(

Другие вопросы по тегам