[英]Override default behavior of TAB in JTextPane
我正在实现一个基于JTextPane的文本编辑器。 目前,当我有一段选定的文本时,按TAB键会删除所选的文本。 我想更改此行为,以便TAB将缩进所选文本。
怎么去呢?
沿线的东西:
public void keyPressed ( KeyEvent event ) {
switch ( event.getKeyCode ()) {
case KeyEvent.VK_TAB :
insertTabChar ( event.isShiftDown ());
event.consume ();
break;
case KeyEvent.VK_ENTER :
snapshot ();
insertNewLine ();
event.consume ();
break;
}
}
你有一些课程,就像这一样。
特别是功能
/**
* manage keyboard tabbing, implementing blockindent.
* @param isUnindent
*/
private void insertTabChar ( boolean isUnindent ) {
snapshot (); // snapshot current setup
if ( isSelection ) { // blockindent
可能会做你需要的。
另一种方法是重新定义与TAB键关联的JTextArea组件的操作。 看看ActionMap。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.