繁体   English   中英

覆盖JTextPane中TAB的默认行为

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM