• 締切済み

javaプログラムで背景色を変更するには

java初心者中の初心者です。背景色の変更方法をお尋ねします。 具体的質問内容: BMI値(肥満度)に応じて背景の色が変化するようにしたい。 BMI値が20未満の場合は黄色、20~24未満の場合は緑、24以上は赤、エラーの場合は青になるように。 actionPerformedで、結果に応じてbgcolorを変更するのだと思いますがよくわかっておりません。 大変あつかましいお願いですが、記述そのものを御教示いただけると助かります。 ソースコードをここに載せたらいいのか迷ったのですが、必要であればお知らせください。 どうぞよろしくお願いいたします。

みんなの回答

回答No.2

>あてずっぽうで回答するなら >setBackgroundメソッドで背景色を変えることはできませんか? は読んでお試しにならなかったのでしょうか。 残念です。 一部抜粋ですが、下に乗せたソースの(1)と(2)に背景色を設定するコードを書けば実現できます。 背景色を設定するのは 質問内容から推測すると「おそらく」TextAreaだと思いますので ta.setBacground(色) でできます。 この説明でわからなければ、JavaDocを見て下さい。 上記推測が外れていて、Applet全体の背景色という意味でしたら、 setBackground(色) でできます。 さらに予測が外れていた場合は「何の背景色」なのか、具体的に記述して下さい。 (↓全角スペースでインデントをつけています。) // リスナー: Button, TextField, TextArea に対応 public void actionPerformed( ActionEvent e ) {   if( e.getSource() == btn ) { // 発生元を確認     float sincho, taiju, himando ;     // TextFieldからデータを取得     try {       sincho = Float.valueOf(tf1.getText()).floatValue() ;       taiju = Float.valueOf(tf2.getText()).floatValue() ;     }     catch(Exception err) { // 変換エラーへの対応       sincho = 0 ;       taiju = 0 ;     }     if( sincho>0 && taiju>0 ) {       himando = taiju*10000/(sincho*sincho) ;       ta.setText( "あなたのBMIは"+himando+"です") ;       //ここにhimandoの値の条件分岐を行い、条件に従って背景色を設定する。(1)     }     else {       ta.setText( "データに不正な値があるか,入力されていません") ;       //ここにエラーの場合の背景色を設定する。(2)     }     ta.repaint() ; // TextAreaのみを再描画   } }

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

>大変あつかましいお願いですが、記述そのものを御教示いただけると助かります。 >ソースコードをここに載せたらいいのか迷ったのですが、必要であればお知らせください。 であれば、ソースを最初から載せましょう。 質問者様以外の人には「背景色」というのが、「何の」背景色なのかさっぱりわかりません。 あてずっぽうで回答するなら setBackgroundメソッドで背景色を変えることはできませんか?

yoyonzu
質問者

補足

回答ありがとうございました。質問形式が適切ではなく申し訳ありませんでした。 背景色とは表示領域全体を塗りつぶすことです。 ソースコードは以下のとおりです。 // jprog05.java import java.awt.* ; import java.awt.event.* ; // イベント処理 import java.applet.* ; // クラス名 jprog05 はファイル名と一致させる public class jprog05 extends Applet implements ActionListener { // GUI部品 TextField tf1, tf2 ; Button btn ; TextArea ta ; // 初期設定メソッド -- アプレットが動作を始める時に一度だけ実行される public void init() { setBackground(Color.lightGray) ; // 部品を初期化 tf1 = new TextField(10) ; tf2 = new TextField(10) ; btn = new Button("計算") ; ta = new TextArea(3,40) ; ta.setEditable(false) ; // 出力専用に設定 // 画面上に配置 -- 順序にも注意 add( new Label("身長(cm)",Label.RIGHT) ) ; add( tf1 ) ; add( new Label("体重(kg)",Label.RIGHT) ) ; add( tf2 ) ; add(btn) ; add(ta) ; // イベントを受信するリスナーを登録 btn.addActionListener(this) ; } // リスナー: Button, TextField, TextArea に対応 public void actionPerformed( ActionEvent e ) { if( e.getSource() == btn ) { // 発生元を確認 float sincho, taiju, himando ; // TextFieldからデータを取得 try { sincho = Float.valueOf(tf1.getText()).floatValue() ; taiju = Float.valueOf(tf2.getText()).floatValue() ; } catch(Exception err) { // 変換エラーへの対応 sincho = 0 ; taiju = 0 ; } if( sincho>0 && taiju>0 ) { himando = taiju*10000/(sincho*sincho) ; ta.setText( "あなたのBMIは"+himando+"です") ; } else { ta.setText( "データに不正な値があるか,入力されていません") ; } ta.repaint() ; // TextAreaのみを再描画 } } // 描画メソッド -- 画面が再描画されるたびに実行される public void paint(Graphics g) { } }

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • fireworksで写真の背景色の変更について

    例えば背景が青色で人物が写っている写真の背景を緑に変更しようとする時に、青色の所を自動選択ツールで選択して、緑に塗り替えているのですが、輪郭がきれいにできません。 このような場合、どのような手順で背景を変更したらきれいにできるのでしょうか?急いでやらないといけないのですが、初心者で聞く人もおらず困っています。 教えてください。どうぞよろしくお願いします。

  • painter9のカラー変更について

    painter9のカラーを変更する場所(円の中に三角形があるカラーパレットのことです)の色を変更したいのですが、変え方がわかりません。 私のカラーパレットは背景がアイスミントのような色でになっていて、カラーパレットで選べる色も緑系だけになっています。 カラーセットの色でカラフルな黄色を選んでもそれに対応する緑系の色に置き換えられてしまいます。 よく講座サイトさんで見かけるような白から赤、黒、黄色、青・・・・ などのグラデーションのきれいなパレットに変更したいです。 まったくの初心者なので、やり方がわからず困っています。 よろしくお願いします。

  • javaのプログラムについての質問です。

    javaのプログラムについての質問です。 javaについて、あまり詳しくないので質問させていただきます。 ボタンを押して円などの色を変えるプログラムで、2色を変える(黄→赤)if文は public void actionPerformed(ActionEvent e) { if (bool) { setBackground(Color.yellow); this.bool = false; } else { setBackground(Color.red); this.bool = true; の様にfalseとtrueを使えばできるのですが、もし3、4色の場合はif文の中をどうしたら良いですか? できれば、ボタンを押すたびに黄→赤→黒→黄…など3~4色のループするようにしたいです。 いろいろ考えたのですが、うまくいきません。どなたか教えて下さい。

    • ベストアンサー
    • Java
  • どれが正しいですか?

    私は、青色と赤色と黄色と緑色が好きだ 私は、青色と赤色・黄色・緑色が好きだ 私は、青色と赤色、黄色、緑色が好きだ 私は、青色・赤色・黄色・緑色が好きだ 私は、青色、赤色、黄色、緑色が好きだ 私は、青色・赤色・黄色と緑色が好きだ 私は、青色、赤色、黄色と緑色が好きだ 私は青色と赤色と黄色と緑色が好きだ 私は青色と赤色・黄色・緑色が好きだ 私は青色と赤色、黄色、緑色が好きだ 私は青色・赤色・黄色・緑色が好きだ 私は青色、赤色、黄色、緑色が好きだ 私は青色・赤色・黄色と緑色が好きだ 私は青色、赤色、黄色と緑色が好きだ どれが正しいですか?

  • PictureBoxの背景色変更(VB.NET)

    最近、VB.NETを勉強し始めた初心者です。 スクロールバーとテキストボックスを利用し PictureBoxの背景色を変更させるプログラムを作りたいのですが 色変更のやりかたがわかりません。 赤・緑・青に対応した3本のスクロールバーと3つのテキストボックスを用意し スクロールバーを動かす、もしくはテキストボックスに値を直接入力すし ボタン1を押すと、PictureBoxの背景色が入力した値に応じて変わるように設定します。 スクロールバーを動かした時は、テキストボックスにスクロールバーの値を表示させます。 実行直後は赤・緑・青の全てが0ですので、黒になっています。 (なお、値の最大は255です) また、実行直後のテキストボックスは「0」と表示するようにします。 ボタン2を押すとすべての値が初期化され、実行直後と同じ状態になります。 いろいろと調べたのですが、未だにわからず困っています。 それぞれの配置やスクロールバーの値の範囲設定等はすべて書き終えています。 やりかたがわかるかたがいましたら、教えていただけますか。 お願いします。

  • なぜ白い背景に黒い文字が一番見やすいの?

    この前HPを作っていて思ったのですが 白い背景に黄色の文字を書くととても見にくいし黒い背景に濃い青でも見にくいです。 これはなぜなんでしょうか? 光の波長は赤が一番長くて紫が一番短いですよね? 黒って・・どれくらいの波長なんでしょうか? 波長の長さの違うものを背景ー文字にすると見やすいのかな? と思いきや紫に赤で書いてもあまり見やすくないです・・。 なんで白い背景に黒い文字が一番みやすいのでしょうか? 人間の目や光にどのような特性があるからなんでしょうか? よろしくお願いします><;

  • ホームページの背景色について

    一つのページで現在背景色は青色一色ですが、これを上下二つに分けて上の部分を青色に下の部分を緑色の背景色にしたいのですができるでしょうか。出来れば上下の境界部には境界線や余白が入らないようにしたいのですが。 初心者ですがよろしくお願い致します。

  • JAVAプログラムについて

    あるプログラムに下記に機能を追加したいのですが どのようにプログラムすればよいかわかりません。 プログラム記述方法を教えてください。 (1)赤・緑・青の明るさを数値で指定し、任意の色で描画できるようにしたい。 (2)「色交換」ボタンを追加し、このボタンを押すと、最後に描かれた図形の線の色と塗りつぶしの色が入れ替わるようにしたい。 以上よろしくお願いします。

  • VBAで背景色

    以前にも同じような質問をしたのですが、応用できなかったので改めて質問させていただきます。申し訳ありません。 VBAを使って、入力された値によってセルの背景色を変更したいです。 C列からAF列までのセルに 「1」から始まる値が入力されたら背景を黄色 例:「1テスト」 「2」から始まる値が入力されたら背景を緑色 例:「2VBA」 「3」から始まる値が入力されたら背景を水色 例:「3教えて」 「4」から始まる値が入力されたら背景を赤  例:「4終了」 にするVBAが欲しいです。 例えば、C1に入力した「1テスト」という値を、D1~AF1にコピーすれば C1~AF1の背景が黄色になるようにしたいわけです。 かつ、B列にはその行で背景が黄色のセルの数を返せれば最高です。 どの部分が「C列からAF列」を指すのかをご説明いただけると大変ありがたいです。 よろしくお願いします。

  • 市役所HPの背景色が青や黄色に変更できる理由は何?

    市役所HPの背景色が青や黄色に変更できる理由は何? 市役所のホームページを見ていると気になる機能がありました。 行政関連のホームページを見ると、 よく、「文字を大きくする」などのオプションがあります。 その中でも、「背景色を変更する」という機能をもったサイトが最近登場するようになりました。 神戸市 http://www.city.kobe.lg.jp/ 背景色を黒に、というのはなんとなく理由は解ります。 が、神戸市のような、青色や黄色というのは何故なんだろうと思いました。 色に障害がある方の中には、 背景が青や黄色が見やすい、という方がいらっしゃるのでしょうか? それとも障害は関係なく、ただのイメージチェンジ的な理由? (それにしては見づらい…) どなたかご存知の方、理由が推測できる方、教えてください!

このQ&Aのポイント
  • EPSON社製品の用紙設定にB5、A5が存在しない状況について質問します。
  • EPSON社の製品を使用していますが、用紙設定でB5、A5が選択肢に表示されません。この問題の解決方法を教えてください。
  • 用紙設定でB5やA5といったサイズが表示されない場合、EPSON社製品のドライバーソフトウェアを最新バージョンにアップデートすることをおすすめします。アップデート後は正常に表示されるはずです。
回答を見る

専門家に質問してみよう