

こんばんわ。
皆様、ゴールデンウィークいかがお過ごしでしょうか?
さて、TextAreaもしくはJTextAreaで、一行づつ、文字の色を変えるにはどうしたらいいのでしょうか?
以前も、同じ内容の質問があったようですが、(http://oshiete1.goo.ne.jp/kotaeru.php3?q=22309)
読んでみたのですがStylepadというDEMOがどこにあるかわからず、解決できないのでよろしくお願いします。
解決できそうなサンプルのURLなど分かりましたら、回答していただければとてもたすかります。
import java.applet.*;
import java.awt.*;
import java.swing.*;
public class test extends JApplet
{
public void init()
{
Container con = getContentPane();
String str1 = "あいうえお\n";
String str2 = "かきくけこ\n";
JTextArea JT = new JTextArea();
con.add(JT);
JT.append(str1);
JT.append(str2);
}
}
これの"あいうえお"と"かきくけこ"を異なる色にしたいのですが、どうしたらいいのでしょう?
No.2ベストアンサー
- 回答日時:
こんにちは。
JTextAreaはプレーンテキストを扱うコンポーネントなので、こういう場合はJEditorPaneかJTextPaneを使います。
JEditorPaneはHTMLを扱うときに使うようなので、JTextPaneを使うのが適当のような気がします。
サンプルを書くとこんな感じでしょうか。
import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;
public class Test extends JFrame {
JTextPane textPane;
DefaultStyledDocument document;
public static void main(String[] args) {
Test frame = new Test();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);
}
public Test() {
document = new DefaultStyledDocument();
textPane = new JTextPane(document);
try {
//属性情報を作成
SimpleAttributeSet attribute = new SimpleAttributeSet();
//属性情報の文字色に赤を設定
attribute.addAttribute(StyleConstants.Foreground, Color.RED);
//ドキュメントにその属性情報つきの文字列を挿入
document.insertString(0, "あいうえお\n", attribute);
//属性情報の文字色に青を設定
attribute.addAttribute(StyleConstants.Foreground, Color.BLUE);
//ドキュメントにその属性情報つきの文字列を挿入
document.insertString(document.getLength(), "かきくけこ\n", attribute);
}
catch (BadLocationException ex) {
ex.printStackTrace();
}
add(textPane, BorderLayout.CENTER);
}
}
なんか、いろいろややこしいのですが、参考URLのサイトがわかりやすかったので、ご覧ください。
参考URL:http://www.javadrive.jp/tutorial/appli/word/inde …
回答ありがとうございます。
こちらも早速試してみました。
見事に文字の色が行ごとに変えることができました。
ありがとうございます。
No1の方の例とどちらを使用しようかと考えたのですが、
HTMLの方が使いなれているんですが、insertStringが使いがってが良さそうなので、こちらを使用することにいたします。
とても参考になりました。おふたりとも良い例と良い参考URLを示してくださいましてありがとうございました。
No.1
- 回答日時:
URLを見て頂くとわかりますが、JTextAreaでは全て同じフォントで表示されると書いてあります。
スタイル付きテキストを利用するにはJEditPaneやJTextPaneを利用する必要があります。
String str1 = "<font color=\"blue\">あいうえお</font>";
String str2 = "<font color=\"red\">かきくけこ</font>";
JTextPane JT = new JTextPane();
JT.setContentType("text/html");
JT.setText(str1 + "<br>" + str2);
con.add(JT);
参考URL:http://java.sun.com/docs/books/tutorial/uiswing/ …
回答ありがとうございます。
早速ためしてみると見事にできました。
ありがとうございます。
使い慣れたhtmlで文字の色やサイズまで簡単に変更できるのでとても扱いやすいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java java final 1 2022/06/10 22:49
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- 放射線治療・リハビリテーション リハビリ系のお仕事についてです。 将来、リハビリ系のお仕事につきたいと思っているのですが PT、OT 1 2022/05/21 20:31
- 数学 領域の問題について質問です。 実数s, tは,s^2+t^2≦1, s≧0, t≧0 を同時に満たし 3 2023/05/18 20:59
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【AWT】別ウィンドウのLabel設...
-
TABキーの検出
-
Java-Swing TextAreaにスクロー...
-
JDK1.4でのフォーカス遷移
-
ノードの削除
-
あるコンボボックスを選択する...
-
(急募)このフレームにじゃんけ...
-
KeyListenerの使い方について
-
Enterキーでボタンを押すにはど...
-
VB6.0でのTextboxの高さ変更
-
TextAreaでの文字の色
-
Label を リスナーと結びつけ...
-
JPanelの切り替えと再描画
-
エラーで式の開始が不正ですと...
-
JPanelの重ね方/OverlayLayout他
-
ボタンクリック後パネルを再描...
-
JSPでHTMLの表示が優先されてし...
-
初心者です。教えてください!
-
オブジェクトのフィールドのコ...
-
参照・値渡しについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java junit list同士の比較方法
-
【Swing】JPanel クラス外から...
-
JPanelの切り替えと再描画
-
TextAreaでの文字の色
-
最後の行に移動するには?
-
setPrefferedSizeとsetSize
-
ListSelectionListenerのvalueC...
-
Java-Swing TextAreaにスクロー...
-
javaで文字数制限するには?
-
JDialogを閉じた時の処理
-
エラーで式の開始が不正ですと...
-
JFrameとJPanelの最大化について
-
JPanelの重ね方/OverlayLayout他
-
VB6.0でのTextboxの高さ変更
-
ボタンがマウスオーバーしない...
-
次のように書いたのですが、ウ...
-
Java本格じゃんけんで
-
あるコンボボックスを選択する...
-
簡易電卓が作れない…
-
Buttonを押すと画像が表示され...
おすすめ情報