2009-02-05 12 views

Respuesta

5

Algo a lo largo de la línea:

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; 
     } 
    } 

Usted tiene algunas clases por ahí que hacen precisamente eso, como this one.

En particular, la función

/** 
    * manage keyboard tabbing, implementing blockindent. 
    * @param isUnindent 
    */ 
    private void insertTabChar (boolean isUnindent) { 

     snapshot(); // snapshot current setup 

     if (isSelection) { // blockindent 

podría hacer justo lo que necesita.

+0

Tuve que hacer eso antes, se ve bien desde aquí. – geowa4

2

La otra forma es redefinir la acción para el componente JTextArea asociado con la tecla TAB. Eche un vistazo a ActionMap.

Cuestiones relacionadas