JTextComponent
1. JTextComponent中间对于一些常用的操作,Java已经有API支持:
JMenu edit = new JMenu("Edit"); Action cutAction = getActionByName(DefaultEditorKit.cutAction); cutAction.putValue(Action.NAME, "Cut"); edit.add(cutAction);
3.关于Action中间的InMap和ActionMap操作如下:本例中由于采用的是ActionMap中间默认的Action,所以没有设置ActionMap的值
InputMap inMap = comp.getInputMap(); KeyStroke ctrlB = KeyStroke.getKeyStroke(KeyEvent.VK_B,KeyEvent.CTRL_MASK); inMap.put(ctrlB, DefaultEditorKit.backwardAction);
4.DocumentListener用于监听文本的插入,删除,改变,在其实现里面不应该加入对文本的操作。(事件线程的原因)
5.Text组件的模型如图,PlainDocument是默认的模型
6. DocumentFilter用来实现对于Dccument的特殊过滤,可以做为DcoumentFilter的子类的方式实现,必须实现
public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {} public void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException {}
7.CaretListener是标注当前鼠标在文本中的位置和选中文本状态的监听器
public void caretUpdate(CaretEvent e) { }
JSplitPane
以下方法用于设置JSplitPane的布局
JSplitPane jsp = new JSplitPane(JSplitPane.VERTICAL_SPLIT, createTextComp(), createMessageComp()); jsp.setDividerLocation(200);