Отключение «вставки» в поле jText - PullRequest
4 голосов
/ 25 ноября 2008

У меня есть приложение, написанное на Swing, AWT. Я хочу запретить пользователям вставлять значения в текстовые поля. Есть ли способ сделать это без использования слушателей действий?

Ответы [ 5 ]

17 голосов
/ 21 сентября 2011

Вы можете просто вызвать setTransferHandler с нулевым параметром, например так:

textComponent.setTransferHandler(null);

Это отключит все действия копирования / вставки в поле.

5 голосов
/ 25 ноября 2008

Лучший способ - удалить действие, связанное с сочетанием клавиш CTRL + V, в компонентах ActionMap.

2 голосов
/ 26 февраля 2010

Проще всего сказать: textComponent.setEditable(false);

Это отключает вырезание и вставку, но копирование все еще включено.

1 голос
/ 07 июня 2017
public class PastlessJTextField extends JTextField {

        public PastlessJTextField() {
            super();
        }
        public PastlessJTextField( int columns ){
            super( columns );
        }

        @Override
        public void paste() {
            // do nothing
        }


    }
0 голосов
/ 25 ноября 2008

Вы можете переопределить метод paste() в JTextComponent.

...