1
JFrame 내의 JPanel 안에있는 JScrollPane의 JEditorPane에 html 파일을 표시합니다. "Page Down"및 "Page Up"이벤트를 감지하는 리스너를 어떻게 추가 할 수 있습니까?JScrollBar의 페이지 위/아래 이벤트
public class Test_Url extends JPanel {
JEditorPane editor;
JScrollPane scroller;
String source = "test.html";
Test_Url(){
super();
setLayout(new BorderLayout());
editor = new JEditorPane();
editor.setEditable(false);
File file = new File(source);
String page = "file:///" + file.getAbsolutePath();
try {
editor.setPage(page);
} catch (IOException ex) {
Logger.getLogger(Test_Url.class.getName()).log(Level.SEVERE, null, ex);
}
scroller = new JScrollPane(editor, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scroller.setPreferredSize(new Dimension(500, 600));
add(scroller, BorderLayout.CENTER);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new Test_Url());
frame.pack();
frame.setVisible(true);
}
}
감사합니다 :
여기 내 코드입니다!
AdjustmentEvent 매개 변수에는 int 유형 필드가 있으며, 그 중 하나는'BLOCK_INCREMENT'입니다. 따라서 꽤 알려줄 것 같습니다. 1 + –
@HovercraftFullOfEels, 좋은 지적입니다. 나는 API를 가까이서 쳐다보아야했다. – camickr
둘 다 고마워. 불행하게도,'AdjustmentEvent' 타입은 사용자의 행동에 관계없이 항상 'TRACK'으로 나타납니다. 어쨌든, 나는 수직 스크롤 바 위치의 변화에 의해 동작을 감지 할 수 있었다. Page Up/Down은 하나의 이벤트 만 생성합니다. – Serg