アプリ版:「スタンプのみでお礼する」機能のリリースについて

javaの初心者です。
環境OSWindows2000
使用ソフトjavaBuilder5です。

今回入門書を見ながら作ったのですが、
(写したが正しいかな?)
実行すると文字の後ろの色がグレーになります。
これを変更する方法を教えてください

黒とか赤とかに変更したいのです。

ーーーソースーーー
import java.applet.Applet;
import java.awt.*;
import java.lang.*;
public class TopTitle extends Applet implements Runnable{
Thread th=null;
String msg="",cen="",def="",aft="";
int no,width,wait;
public void init(){
msg=getParameter("MESSAGE");
msg=" "+msg+" ";
no=msg.length();
wait=Integer.parseInt(getParameter("WAIT"));
}
public void update(Graphics g){
paint(g);
}

public void paint(Graphics g){
Font f=new Font("TimesRoman",Font.BOLD,48);
FontMetrics fm=getFontMetrics(f);
g.setFont(f);
int width=fm.stringWidth(def);
g.setColor(new Color(0,0,255));
g.drawString(msg,0,48);
g.setColor(new Color(125,125,125));
g.drawString(cen,width,48);
}
public void start(){
if (th==null){
th=new Thread(this);
th.start();
}
}
public void run(){
int i;
while (true){
try{
for(i=0;i<no-1;i++){
def=msg.substring(0,i);
cen=msg.substring(i,i+1);
th.sleep(1000);
repaint();
}
th.sleep(wait);
}
catch(InterruptedException e){}
}
}
public void stop(){
if(th!=null){
th.stop();
th=null;
}
}
}

A 回答 (4件)

すいません。

さっきのちょい間違いです。(^^;
initメソッドはすでに記述してあるようですので
initメソッドの中に
setBackground(Color.white);
等を追記してください。。
    • good
    • 0
この回答へのお礼

出来ましたぁ~
感謝感激ぃ~

initメソッドがある場合は
setBackground(Color.black); を追加し、
無ければこれを追加すれば良いのですね
public void init(){
setBackground(Color.black);
}
ありがとう御座いました。
また、何かありましたら宜しくお願いいたします。

お礼日時:2001/09/05 14:39

私も最初文字の色の変更かと思ったのですがどうやら違うようですね。


バックグラウンドの色を変更したいようですね。方法はいくつかあるのですが、
取りあえず、以下の記述を追加する事で出来ると思います。

public void init(){
setBackground(Color.black);
}

赤色にしたい場合は、Color.blackをColor.redに変更してください。
もっと微妙な色表現したいときは

setBackground(new Color(int,int,int));

としてください。intの部分には0~255までの数値が入ります。

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/api/inde …
    • good
    • 0

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/
    • good
    • 0
この回答へのお礼

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補足のバックカラーオレンジ色を変えたい)

宜しくお願いいたします。

お礼日時:2001/09/04 15:08

g.setColor(new Color(125,125,125));


の部分の数値を変えれば変わると思います。
数値はそれぞれ赤・緑・青に対応しているので、
たとえば255,0,0なら真っ赤に、0,0,0なら真っ黒になるはずです。
    • good
    • 0

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