私の単純なナビゲーション フィルターを考えてみましょう。
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 は後方です。
逆方向を選択してもバイアスを印刷すると、正方向が印刷されました。これはどのように作動しますか?
どんな答えでも大歓迎です。前もって感謝します。