- ベストアンサー
色が変わる文字について
- javaの初心者です。環境OSWindows2000使用ソフトjavaBuilder5です。今回入門書を見ながら作ったのですが、実行すると文字の後ろの色がグレーになります。これを変更する方法を教えてください
- 黒とか赤とかに変更したいのです。
- 今回「色が変わる文字について」という質問です。javaの初心者が環境OSWindows2000と使用ソフトjavaBuilder5を使ってプログラムを作成しています。しかし、実行すると文字の後ろの色がグレーになってしまうため、黒や赤など他の色に変更したいと思っています。変更する方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
すいません。さっきのちょい間違いです。(^^; initメソッドはすでに記述してあるようですので initメソッドの中に setBackground(Color.white); 等を追記してください。。
その他の回答 (3)
- syunpon
- ベストアンサー率42% (9/21)
私も最初文字の色の変更かと思ったのですがどうやら違うようですね。。 バックグラウンドの色を変更したいようですね。方法はいくつかあるのですが、 取りあえず、以下の記述を追加する事で出来ると思います。 public void init(){ setBackground(Color.black); } 赤色にしたい場合は、Color.blackをColor.redに変更してください。 もっと微妙な色表現したいときは setBackground(new Color(int,int,int)); としてください。intの部分には0~255までの数値が入ります。
- madman
- ベストアンサー率24% (612/2465)
JAVAは知りませんが、プログラムは何でも同じなので、 ソースを見る限りでは、 public void paint(Graphics g) が、色を変える関数です。 で、 g.setColor(new Color(0,0,255)); g.drawString(msg,0,48); g.setColor(new Color(125,125,125)); g.drawString(cen,width,48); が色を変えているところのようですね。 Color(0,0,255)は青色でしょうか? Color(125,125,125)がグレーですね。 色の設定で、Color(R,G,B)で光の三原色を指定します。 それぞれ0-255までの256階調で表現しているようですね。 255,255,255の組み合わせが白、0,0,0の組み合わせが黒です。 3色とも同じ数値にすると、白から黒へのグラデーションです。 R,G,Bのそれぞれで、1箇所だけを255にし、それ以外を0にすると、R(赤)G(緑)B(青)の原色になります。 R=255,G=255,B=0だと黄色、R=0,G=255,B=255だと水色、R=255,G=0,B=255だと紫になります。 あとは、数値の組み合わせで色が変えれます。 通常のHTMLの色表現で #000000と言うのがありますが、これと同じです。 #RRGGBBでRRの部分が赤色、GGが緑、BBが青をあらわし、それぞれ00-ffまでで表現します。 このffは16進表記ですので、10進数に直すと255となり、同じ数値である事がわかると思います。 Windowsなどの付属の電卓を、関数電卓モードにして、10進と16進の変換を行うと、HTML用の色サンプルなどはあちこちに転がっていますので容易に色パターンは割り出せるでしょう。 参考URLはHTMLのページですが、色パターンもあったと思います。
- 参考URL:
- http://tohoho.wakusei.ne.jp/
お礼
yuizuianさん madmanさん ご回答ありがとう御座います。 わかりにくい書き方おして申し訳ありません 文字色の変更ではなく 文字の後ろのグレーの部分の色を 自分のHPの背景色(黒もしくわ透明or透かし) と一緒にしたいのです。 と言うわけで現在の設定はこれで、 g.setColor(new Color(0,0,255)); g.drawString(msg,0,48); g.setColor(new Color(255,0,0)); g.drawString(cen,width,48); 文字が青色で、文字が赤色に順に光っていくと言うソースなのです。 しかし、バックカラーのグレーの部分がどうしても邪魔なのでHPの背景色黒もしくわ透明or透かしにしたいのです。 (例:お礼Or補足のバックカラーオレンジ色を変えたい) 宜しくお願いいたします。
- yuizuian
- ベストアンサー率42% (103/245)
g.setColor(new Color(125,125,125)); の部分の数値を変えれば変わると思います。 数値はそれぞれ赤・緑・青に対応しているので、 たとえば255,0,0なら真っ赤に、0,0,0なら真っ黒になるはずです。
お礼
出来ましたぁ~ 感謝感激ぃ~ initメソッドがある場合は setBackground(Color.black); を追加し、 無ければこれを追加すれば良いのですね public void init(){ setBackground(Color.black); } ありがとう御座いました。 また、何かありましたら宜しくお願いいたします。