Перейти к контенту

Использование JTextPane для стиля кода в Java?

Чтобы стилизовать код в компоненте TextPane, используйте setText() для текста и работайте с тегами HTML. Для кода используйте тег <code>. Кроме того, не забудьте установить тип содержимого «text / html» —

JTextPane pane = new JTextPane();
pane.setContentType("text/html");

Если вы не установите тип содержимого, то в выводе будут отображаться все эти теги HTML внутри JTextPane. Теперь установите код внутри <code> —

 

pane.setText("<HTML><BODY><CODE> #include <iostream>; <br> using namespace std; <br>main() {<br>cout << \"Hello World\";<br>   return 0;<br>}</CODE><br></BODY></HTML>");

Ниже приведен пример, в котором мы будем отображать код в JTextPane. Код, который мы здесь стилизуем, является примером кода C ++ —

package my;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.text.BadLocationException;
public class SwingDemo {
   public static void main(String args[]) throws BadLocationException {
      JFrame frame = new JFrame("Demo");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      Container container = frame.getContentPane();
      JTextPane pane = new JTextPane();
      pane.setContentType("text/html");
      pane.setText("<HTML><BODY><CODE> #include <iostream>; <br> using namespace std; <br>main() {<br>cout << \"Hello World\";<br>   return 0;<br>}</CODE><br></BODY></HTML>");
      JScrollPane scrollPane = new JScrollPane(pane);
      container.add(scrollPane, BorderLayout.CENTER);
      frame.setSize(550, 300);
      frame.setVisible(true);
   }
}

Вывод следующий. Отображает код C ++ в правильном формате в JTextPane —

Оцени статью

Средняя оценка / 5. Количество голосов:

Спасибо, помогите другим - напишите комментарий, добавьте информации к статье.

Или поделись статьей

Видим, что вы не нашли ответ на свой вопрос.

Помогите улучшить статью.

 

Пока нет комментариев.

Добавить комментарий

Ваш e-mail не будет опубликован.

СайдбарКомментарии (0)