Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

awtのLabelの枠線表示方法

現在、JAVA awtにて画面作成をしているのですが、
Labelを使用した場合、Labelの輪郭を黒色等で表示したい
と考えています。

自身も色々と調べたのですが、解決方法が分からず、
投稿させていただきます。
簡単な質問かと思いますが、ご回等を頂ければ幸いです。

6

回答

7428

閲覧

6件の回答

評価

0

はじめまして。
AWTだとちょっとめんどくさいかも知れませんねぇ。

Graphicsをgetして、枠線を描いて(この辺はGraphicsに実装済)
またsetする。
が定石でしょうか。

Swingを利用する(JLabel)とsetBorderというまんまなものがありますけど。

アプレットを作成中みたいですので、Graphicsをいじる方向で回答してみました。

評価

0

すったかさん、ご回答ありがとうございます。

ご回答頂きました内容で、以下のようにソースを
記載したところ、輪郭を表示できませんでした。

追加で質問させていただきますが、何か抜けている点が
ありましたら、再度ご回答を頂けますと幸いです。

---------------------------------------------
Graphics gr = label.getGraphics();
gr.setLect( 0, 0, ラベルの幅、ラベルの高さ );
---------------------------------------------

評価

0

>Graphics gr = label.getGraphics();
>gr.setLect( 0, 0, ラベルの幅、ラベルの高さ );

このコードでは、そもそもコンパイルすらできないはずです。
試したことを、ちゃんと書きましょう。

評価

0

コンパイルできないことを表示できないといったんでしょうか?
mioさんのいうこともわかりますので、気をつけてくださいね?>kanさん

 さて、Graphics の枠線表示についてはJavaDocを眺めることをお勧めします。
 JavaDocを眺めることは、今後の為に良いことです。

 ヒントとしては、
  ・Rectであること
  ・setではないこと
  ・枠線の幅は1ピクセルであること
  ・再描画を行うこと
 でしょうか。

P.S
 LineBorder のソースを見ると、指定の太さになるまで
 forループしているのがなんとも(笑)
 

評価

0

すったかさん、mioさん、ご回答ありがとうございます。
また、先に書きましたサンプルコードは、ご指摘のとおり、
記載間違いでした。
実際は、以下のように記載しています。

------------------------------------------------
Graphics gr = label.getGraphics();
gr.drawRect( 0, 0, ラベルの幅、ラベルの高さ );
------------------------------------------------

現状、上記コード記載後に、label.repaint();と続けていま
すが、いまだ枠線は表示されません。

すったかさんからのご指摘どおり、JavaDocを見切れていま
せんので、そちらから調査しようと思います。

以上、現況までに。

評価

0

すったかさんのヒントに、ひとつ付け足しておきますかね。

・枠線にも色があること

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。