implements NavigationFilter : NavigationFilter « javax.swing.text « Java by API






implements NavigationFilter

 

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.text.NavigationFilter;
import javax.swing.text.Position;

public class MainClass {
  public static void main(String args[]) throws Exception {
    final String START_STRING = "Start\n";
    final int START_STRING_LENGTH = START_STRING.length();

    JFrame frame = new JFrame("Navigation Example");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JTextArea textArea = new JTextArea(START_STRING);
    textArea.setCaretPosition(START_STRING_LENGTH);
    JScrollPane scrollPane = new JScrollPane(textArea);
    frame.add(scrollPane, BorderLayout.CENTER);

    NavigationFilter filter = new NavigationFilter() {
      public void setDot(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias) {
        if (dot < START_STRING_LENGTH) {
          fb.setDot(START_STRING_LENGTH, bias);
        } else {
          fb.setDot(dot, bias);
        }
      }

      public void moveDot(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias) {
        if (dot < START_STRING_LENGTH) {
          fb.setDot(START_STRING_LENGTH, bias);
        } else {
          fb.setDot(dot, bias);
        }
      }
    };

    textArea.setNavigationFilter(filter);

    frame.setSize(250, 150);
    frame.setVisible(true);
  }
}

           
         
  








Related examples in the same category

1.NavigationFilter.FilterBypass.setDot(int dot, Bias bias)