Я имею дело с JEditorPane
, чтобы отображать документы HTML, и я создал кнопку, которая прокручивает меня до следующего порта отображения каждый раз, когда я нажимаю на нее, «как будто я поворачиваю страницу книги».Сила JScrollBar для прокрутки до строки
Однако иногда я вижу часть линии в верхней части порта представления, так есть ли способ заставить 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);
}
Чтобы лучше помочь, опубликуйте [SSCCE] (http://sscce.org/) (из вашей лучшей попытки). –
BTW - что должно произойти, если линия имеет встроенное изображение, а высота изображения больше, чем высота просмотра порта представления? –
Благодарим вас за ответ, viewport - полный экран, и я редактирую настраиваемые файлы epub. Однако; если есть изображение, как вы описали, единственное, что нужно, - это запустить окно просмотра с линией или изображением, однако оно длительное. – muaz