Шрифты в JAVA.

Модератор: Absurd

Ответить
develprog
Сообщения: 18
Зарегистрирован: 27 май 2016, 10:54

19 июн 2016, 16:00

Как применить определенный стиль только к выделенному тексту а не ко всей JTextArea.


Код:

Код: Выделить всё

 mc.addActionListener(new  ActionListener(){
            @Override
            public void actionPerformed(ActionEvent event) {
                tx.setFont(new Font ("", Font.PLAIN, 14));
            }
             });  
Аватара пользователя
AiK
Сообщения: 2273
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

19 июн 2016, 18:29

У JTextArea вероятно поменять никак нельзя. У JTextPane можно

Код: Выделить всё

StyleContext sc = new StyleContext();

DefaultStyledDocument doc = new DefaultStyledDocument(sc);
JTextPane pane = new JTextPane(doc);

Style defaultStyle = sc.getStyle(StyleContext.DEFAULT_STYLE);
Style myStyle = sc.addStyle("MyStyle", defaultStyle);
StyleConstants.setFontSize(myStyle, 14);   

doc.setCharacterAttributes(0, 10, myStyle, true);
Даже самый дурацкий замысел можно воплотить мастерски
develprog
Сообщения: 18
Зарегистрирован: 27 май 2016, 10:54

19 июн 2016, 20:44

AiK писал(а): JTextPane

Как размер ему задать ?
Аватара пользователя
AiK
Сообщения: 2273
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

20 июн 2016, 10:43

develprog писал(а):Как размер ему задать ?

В Java считается неприемлемым задавать фиксированные размеры и положения элементов. А так смотри методы setBounds, setSize и setLocation.
Даже самый дурацкий замысел можно воплотить мастерски
Ответить