考虑一下我的简单导航过滤器,
class Main
{
JFrame frame=new JFrame();
frame.setSize(400,400);
frame.setLayout(new FlowLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
JTextArea jt=new JTextArea();
jt.setNavigationFilter(new MyNavigationFilter());
frame.add(jt);
}
class MyNavigationFilter extends NavigationFilter
{
public void moveDot(FilterBypass fb,int dot, Position.Bias bias)
{
System.out.println(bias);
super.moveDot(fb,dot,bias);
}
public void setDot(FilterBypass fb,int dot, Position.Bias bias)
{
super.setDot(fb,dot,bias);
}
}
当我选择使用 JTextArea 编写的文本时,Shift+LEFT_ARROW
它被认为是向后移动点,即 PositionBias 向后移动。
当我即使在向后选择时打印偏差时,也打印了 Forward。这是如何运作的?
任何答案将不胜感激。提前致谢。