List of usage examples for javax.swing JTextArea setFocusTraversalKeys
public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
From source file:com.haulmont.cuba.desktop.gui.components.DesktopTextArea.java
@Override protected JTextArea createTextComponentImpl() { final JTextArea impl = new TextAreaFlushableField(); if (isTabTraversal()) { Set<KeyStroke> forwardFocusKey = Collections.singleton(getKeyStroke(KeyEvent.VK_TAB, 0)); impl.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, forwardFocusKey); Set<KeyStroke> backwardFocusKey = Collections .singleton(getKeyStroke(KeyEvent.VK_TAB, KeyEvent.SHIFT_MASK)); impl.setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, backwardFocusKey); impl.addKeyListener(new KeyAdapter() { @Override/*from w ww. jav a2 s .com*/ public void keyPressed(KeyEvent e) { if (isEnabled() && isEditable() && e.getKeyCode() == KeyEvent.VK_TAB && e.getModifiers() == KeyEvent.CTRL_MASK) { if (StringUtils.isEmpty(impl.getText())) { impl.setText("\t"); } else { impl.append("\t"); } } } }); } impl.setLineWrap(true); impl.setWrapStyleWord(true); int height = (int) impl.getPreferredSize().getHeight(); impl.setMinimumSize(new Dimension(0, height)); composition = new JScrollPane(impl); composition.setPreferredSize(new Dimension(150, height)); composition.setMinimumSize(new Dimension(0, height)); doc.putProperty("filterNewlines", false); return impl; }