1

JTextPane を使用して、フォーラムでよく見られるように、またはここでスタック オーバーフローで見られるように、テキストのセクションを "CODE" としてスタイル設定するにはどうすればよいですか?

public static main(String[] args) {
    /**
     * Look at this Code Block, ain't it grand?
     * I wish I had something like this in my program.
     */
}

または、テキストが次のようなウィキペディアで見た方法: http://img39.imageshack.us/img39/4516/example.JPG

ありがとうございました!

最終更新 Vishal K の回答はまさに私が必要としていたものでした。提案されたように、重複していません。

更新
返信ありがとうございます。私が探しているものと上記の可能な答えとして提案されたものとの違いは、フォントを変更するだけでなく、背景を追加することにも興味があるということです (背景の周りの境界線はプラスになりますが、必須ではありません.私は構文の強調表示を行う必要はありません.

私は HTML タグが行くべき道かもしれないと思います, もしそうなら, それは本当に問題です: どうすれば html を使ってそのような方法でコードをフォーマットできますか? 提供された例で遊んでみます.この質問

をする前に、オラクルのチュートリアルへのリンクをすでに読んでいます。

4

1 に答える 1

1

JTextPane を使用して、フォーラムでよく見られるように、またはここでスタック オーバーフローで見られるように、テキストのセクションを "CODE" としてスタイル設定するにはどうすればよいですか?

HTML タグの使用。ただし、その前に contentType を ("text/html") に設定する必要があります。
このための簡単な例を次に示します。
ここに画像の説明を入力

import java.awt.BorderLayout;
import java.awt.Container;

import javax.swing.JTextPane;
import javax.swing.JScrollPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

public class TextPaneDemo {
  static void addIt(JTabbedPane tabbedPane, String text) {
    JPanel panel = new JPanel();
    JTextPane ta = new JTextPane();
    ta.setContentType("text/html");
    ta.setText("<HTML><BODY><CODE> import java.io.*; <br> public class MyIO{}</CODE><br></BODY></HTML>");
    JScrollPane jsp = new JScrollPane(ta);
    panel.setLayout(new BorderLayout());
    panel.add(jsp);
    tabbedPane.addTab(text, panel);
  }

  public static void main(String args[]) {
    JFrame f = new JFrame("JTabbedPane Sample");
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container content = f.getContentPane();
    JTabbedPane tabbedPane = new JTabbedPane();
    addIt(tabbedPane, "Tab One");
    content.add(tabbedPane, BorderLayout.CENTER);
    f.setSize(300, 200);
    f.setLocationRelativeTo(null);
    f.setVisible(true);
  }
}
于 2013-03-28T17:59:47.433 に答える