В Swing, какой лучший слушатель использовать в текстовой области - PullRequest
1 голос
/ 18 марта 2010

Я пытаюсь изменить шрифт текста в текстовой области в Swing. Какой слушатель я должен использовать в textarea, чтобы вызвать действие, которое позволяет программе инициировать код шрифта.

Все примеры имеют все колебания в одном классе, что позволяет вам напрямую обращаться к текстовой области, но у меня есть несколько классов; Я знаю, что могу передать текстовую область и обратно, но это небрежно.

Я просто не могу понять, какого слушателя инициировать.

Ответы [ 2 ]

2 голосов
/ 19 марта 2010

Я пытаюсь изменить шрифт текст в текстовой области в Swing.

Что ж, JTextArea может иметь только один шрифт, поэтому, если вы хотите изменить шрифт, у вас будет какой-то другой компонент, например кнопка «Изменить шрифт», которую вы нажмете. В этом случае вы бы добавили ActionListener к кнопке, чтобы изменить фактический шрифт текстовой области.

Если вам действительно нужно изменить шрифт для выбранных фрагментов текста, то вы также не можете сделать это с помощью JTextArea. Вам нужно будет использовать JTextPane. Прочтите JTextPane API и перейдите по ссылке на учебник по Swing в разделе «Функции текстового компонента», где приведен пример изменения атрибутов для выделенного текста. В этом случае вы используете действия, предоставляемые редактором.

Итак, в основном вам нужно прочитать учебник Swing, чтобы узнать основы использования компонентов Swing.

1 голос
/ 19 марта 2010

Если вы слушаете текстовую область, то это будет зависеть от того, сколько разных способов вы хотите, чтобы пользователь мог изменять шрифт того, что он печатает.

Вы можете использовать MouseListener, если вы хотите, чтобы они могли изменять шрифт при щелчке правой кнопкой мыши / etc ... или KeyListener, если вы хотите прослушать серию клавиш.

...