Я имею дело с JEditorPane
для отображения документов HTML, и я создал кнопку, которая прокручивает меня к следующему порту просмотра каждый раз, когда я нажимаю на него, «как будто я переворачиваю страницу книги».
Однако иногда я вижу часть строки в верхней части порта просмотра, поэтому есть ли способ заставить JScrollBar
прокрутить до строки впереди?
Я пробовал setBlockIncrement()
метод члена, но он не работал вообще.
Вот моя лучшая попытка:
//get the visible rectangle as well as the most bottom right point.
Rectangle rec = jEditorPane1.getVisibleRect();
Point pt = new Point((int)rec.getX() +(int)rec.getWidth(),(int)rec.getY() + (int)rec.getHeight());
// get the offset of the most bottom right point
int off = jEditorPane1.viewToModel(pt);
try {
//get next viewable rectangle and scroll to it
rec = jEditorPane1.modelToView(off+100);
rec.height = jEditorPane1.getVisibleRect().height;
jEditorPane1.scrollRectToVisible(rec);
} catch (BadLocationException ex) {
Logger.getLogger(NewJFrame2.class.getName()).log(Level.SEVERE, null, ex);
}