• ベストアンサー

setTextについて

setText("hoge")とかっていうふうにテキストに文字を入力しますよね。 その文字の大きさ(フォントの大きさ)を設定するのってどうやるんですか?多分fontクラスを作ると思うんですけど。どうやって設定するんですか? あとsetTextで設定したテキスト欄を消去するのってどうやるんですか? 文字を消去するsetText(" ")じゃなくて、text欄自体消去する方法です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

JTextFieldのJavaDocより ---------------------------------------- JTextField は、1 行テキストの編集を可能にする軽量コンポーネントです。 ---------------------------------------- なので改行することはできません。 (Swingはあまり詳しくないので、もしかしたらできるかも。私が知らないだけで。) 複数行にしたいのなら、JTextAreaを使いましょう。 >適切に改行とかってできないんですか? フォントサイズってそうそう変わることないから、 等幅フォントを指定して、 ---JavaDoc抜粋-------------------------- java.awt.TextArea の変更を監視するには、TextEvent の TextListener を追加します。JTextComponent ベースのコンポーネントでは、DocumentEvent 経由でモデルから DocumentListeners に変更が送られます。DocumentEvent は必要に応じて、変更位置と変更の種類を提供します。コードは次のようになります。 DocumentListener myListener = ??; JTextArea myArea = ??; myArea.getDocument().addDocumentListener(myListener); ---------------------------------------- で、変更を監視して、 「適切に改行する」 プログラムを書けば良いと思います。 >いまJavaDoc見れません。 ネットが見れるなら、JavaDoc見れますよ。 「JavaDoc」「1.4」(Javaのバージョン)「日本語」 あたりを検索すれば見つかると思います。

una_hoge
質問者

お礼

なるほど!!textを二段に分けて表示させました。 いろいろあ~りが~~とね~~

その他の回答 (3)

回答No.3

//フォントの設定 引数はフォント名、スタイル(ボールドとかイタリックとか)、フォントサイズ tt.setFont(new Font("MS ゴシック",Font.BOLD,10)); //表示の設定 trueで表示、falseで非表示 tt.setVisible(false);

una_hoge
質問者

お礼

おおお!!できた!!!すげーーーーーーありがとうマジ感動した!! 情報工学専攻のダメ学生の俺でも作れました。ついでにきいていい? この方法で文字列を表示させたときにフォントが大きすぎると、テキスト欄に入りきらないんだよね。適切に改行とかってできないんですか? 例えば tt.setText("hoge hoge2 hoge3 hoge4 hoge5 hoge6")で hoge hoge2 hoge3 hoge4 hoge5 hoge6 みたいに改行して表示する方法てない?

回答No.2

どのクラスのsetTextメソッドですか? そのクラス(もしくは親クラス、もしくは更に上の親クラス)にsetFontメソッド(フォント設定メソッド)、setVisibleメソッド(可視、不可視設定メソッド)はありませんか? Javaで提供されているクラスのJavaDocは見ることができますか? java.awt.FontクラスのJavaDocは読みましたか?

una_hoge
質問者

補足

ああ、なんかわかってきました。すいません、いまJavaDoc見れません。 ええとJTextFieldです。親クラスは、javax.swing.text.JTextComponent.setTextとエクリプスは表示しています。これでしょうか?

noname#25358
noname#25358
回答No.1

 テキストの出力方法は、Java の場合 setText() だけではありません。  また、同じ setText() でも、それを実装しているクラスによって使い方が変わるので、どのクラスの話をしているのかが分からないことには何も答えられません。 (俺の経験からいうとフォントサイズを設定するメソッドが別に用意されているケースが多い気がしますが、確実ではありません)  テキストの消去方法も、使用するクラスによっては必ずしもあるとは限らず、特にグラフィック関係のクラスの場合、スペースや塗りつぶしで消すしかないこともあります。  よって、どのような経緯で何のシステムを開発しているのかを補足してください。 (なお、補足していただくクラス名によっては、誰にも使い方が分からないこともあります。その際はあしからずネットでお調べください)

una_hoge
質問者

補足

>>それを実装しているクラス swing とかアプレットのことを言っているのかな? 言っている内容がわかりませんので、簡単な例をあげます。 swingです。import とか細かい部分は省力ね。 class AA{ JTextField tt; publid AA{ tt = new JTextField(); tt.setText("hoge"); p = new JPanel(); p.add(tt); } public static void main(String args[]){   } } みたいな

関連するQ&A