最速怪談選手権

アプレットに2行以上書く方法にはどんなものがありますか?

SWTとかを使わずにピュアなソースで書きたいと思っています。
行ごとにLabelを使う以外にいい方法はないですか?
TextAreaを読取専用にしてラベルのように見せることはできますか?

A 回答 (2件)

>スクロールバーを消すにはどうしたらいいんですか?



TextAreaのコンストラクタで指定可能です。
//10行、5列のスクロールバーなしTextArea
new TextArea("あいうえお\nかきくけこ", 10, 5, TextArea.SCROLLBARS_NONE);

>それから、resize()はアプレットの領域を変更できるんじゃないんですか?
たぶんだめです。
APPLETタグで指定した値だけが有効かと思います。
後から変更はできないと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
TextArea.SCROLLBARS_NONEでかなり近づきました。

お礼日時:2002/11/11 12:15

Label, TextAreaということは、AWTですか?


AWTだとすると、

>TextAreaを読取専用にしてラベルのように見せることはできますか?

試してみれば分かると思いますが、
おっしゃるようにTextAreaを読取専用にするのが楽だと思います。

もしくは、Labelを継承して、自分で複数行表示するLabelを作る
という手もあると思います。これはちょっと面倒です。

swingを使っているのでしたら、もうひとつ簡単な方法があります。
下記のURLで示される「How to Use Labels」に、
「Using HTML on a Label」という章があります。
http://java.sun.com/docs/books/tutorial/uiswing/ …

JLabelの中でHTMLを記述する方法です。これを使えば改行以外にも
色々な表現がHTMLで記述できます。

JLabel label = new JLabel();
label.setText("<html>abce<p>fgh</html>");

こんな感じで記述すると、

abcde
fgh

と表示されました。
※上記サイトの説明によると、<br>での改行は使わない方がよいと書いてあります。

参考URL:http://java.sun.com/docs/books/tutorial/uiswing/ …

この回答への補足

ありがとうございます。
たぶんAWTです。
swingは分かりません。
TextAreaを読取専用にしようと思いました。
文字列が選択できるのはいいとして、
まず、背景色を変えようとしたのに、それたさできませんでした。
背景色の変更と、スクロールバーを消すにはどうしたらいいんですか?
それから、resize()はアプレットの領域を変更できるんじゃないんですか?
resize(500, 500);が無効でした。
起動のタグが
<applet code=test width=5 height=5></applet>
だったとしても、
<applet code=test width=500 height=500></applet>
と同じような効果になると思ったんだけど、そのような効果が
あるJAVAの関数はないですか?

public class test extends java.applet.Applet {

String str = "aaa\r\nbbb";
TextArea ta;
Button btn;

public void init() {
resize(500, 500);
ta = new TextArea(str, 4, 20);
ta.setText(str);
ta.setBackground(new Color(200, 200, 200));
add(ta);
add(btn = new Button("B"));
}

}

補足日時:2002/11/11 11:36
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!