Java: Как изменить цвет конкретной строки или строки строки в области текста? - PullRequest
6 голосов
/ 11 января 2011

один способ, которым я мог бы изменить цвет, является setForground ().Однако, когда есть несколько строк кода, все становится зеленым или черным.Есть ли другой способ или какой-либо способ решения этой проблемы?Спасибо!

int key = evt.getKeyCode();
    if (key == KeyEvent.VK_ENTER)
    {
       String tb1EnterdValue = tb1.getText().toString();
       if((tb1EnterdValue.equals("yes")) )
        {
            TextArea1.setForeground(Color.green);
    else
        {
              TextArea1.setForeground(Color.lightGray);
        }
       this.TextArea1.append(">"+tb1EnterdValue+newline);
       this.tb1.setText("");

Ответы [ 2 ]

3 голосов
/ 11 января 2011

Я бы использовал JTextPane с «атрибутами» (не HTML) для изменения цвета текста. В разделе из учебника по Swing Функции текстовых компонентов приведены рабочие примеры для начала работы.

Я пробовал JTextPanes раньше, но они не позволяют мне использовать метод append ()

Метод append () - это просто удобный метод, который позволяет добавлять текст в конец документа. Вы также можете реализовать свой собственный метод append () для JTextPane. Просто посмотрите на исходный код JTextArea и скопируйте код из его метода append ().

0 голосов
/ 11 января 2011

Это Swing и вы используете JTextAreas?Если это так, пожалуйста, будьте конкретны в своем вопросе, а затем не используйте JTextArea, так как это не идеальный текстовый компонент для использования, если вы хотите иметь несколько форматов в одном текстовом компоненте.Вместо этого рассмотрите использование JTextPane или JEditorPane.Обучающие программы покажут вам, как их использовать и когда их следует использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...