Java JScrollBar中的页面向上/向下事件
我在JFrame内的JPanel内的JPanel内的JScrollPane内的JEditorPane中显示一个html文件。如何添加侦听器来检测“向下翻页”和“向上翻页”事件 这是我的密码:Java JScrollBar中的页面向上/向下事件,java,swing,jscrollpane,keyevent,jscrollbar,Java,Swing,Jscrollpane,Keyevent,Jscrollbar,我在JFrame内的JPanel内的JPanel内的JScrollPane内的JEditorPane中显示一个html文件。如何添加侦听器来检测“向下翻页”和“向上翻页”事件 这是我的密码: public class Test_Url extends JPanel { JEditorPane editor; JScrollPane scroller; String source = "test.html"; Test_Url(){ super(
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);
}
}
谢谢大家! 您可以在滚动窗格的
JScrollBar
中添加AdjustmentListener
我认为它不会告诉您它是向上还是向下滚动的,因此您需要跟踪最后一个值并与当前值进行比较。AdjustmentEvent参数有一个int类型字段,其中一个字段是
BLOCK\u INCREMENT
,因此它很可能会告诉您。1+@hovercraftfullofels,很好。我应该仔细看看API:)谢谢你们。不幸的是,AdjustmentEvent
类型始终显示为TRACK
,而不管用户的操作。无论如何,我可以通过垂直滚动条位置的变化来检测动作。向上/向下翻页仅生成一个事件。