java初心者中の初心者です。背景色の変更方法をお尋ねします。
具体的質問内容:
BMI値(肥満度)に応じて背景の色が変化するようにしたい。
BMI値が20未満の場合は黄色、20~24未満の場合は緑、24以上は赤、エラーの場合は青になるように。
actionPerformedで、結果に応じてbgcolorを変更するのだと思いますがよくわかっておりません。
大変あつかましいお願いですが、記述そのものを御教示いただけると助かります。
ソースコードをここに載せたらいいのか迷ったのですが、必要であればお知らせください。
どうぞよろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
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メソッドで背景色を変えることはできませんか?
この回答への補足
回答ありがとうございました。質問形式が適切ではなく申し訳ありませんでした。
背景色とは表示領域全体を塗りつぶすことです。
ソースコードは以下のとおりです。
// 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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Access(アクセス) ACCESS2019 ナビゲーションウィンドウの色 1 2022/05/10 17:15
- その他(ブラウザ) zoomのバーチャル背景が選べない 4 2022/12/08 12:38
- Windows 95・98 タスクバーの背景の色だけを変えたい。 2 2022/07/13 14:44
- 恋愛占い・恋愛運 カテ違いだったらすいません。心理について聞きたいです! 2 2022/04/18 14:26
- その他(パソコン・スマホ・電化製品) アンドロイドスマホの画面にクリックするとJPG写真が開くショートカットを作りたいのですが、方法をおし 3 2023/08/27 10:01
- その他(Microsoft Office) スプレッドシートにて、条件付き書式で複数の単語に合致するセルを着色したいです。 2 2023/04/06 13:25
- 写真・ビデオ スマホ(シャープSENSE7-53C)の背景色を変更したい 2 2023/08/09 11:50
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
String型の日付(2005/11/25)の...
-
C# マルチスレッドにおける例外...
-
VBA Evaluate関数 型が一致しま...
-
子プロセスで発生した例外を親...
-
ブックマークレットについて
-
nullで、return出来るのはどん...
-
例外ってIf文の中に入れますか...
-
C++の例外処理について
-
【JAVA】与えられた金額を貨幣...
-
PHPのpack関数をJavaで実装でき...
-
全角スペースのチェックについて
-
「タイプ初期化子が例外をスロ...
-
オープンアプリにおける、テキ...
-
エクセルVBAで、条件に一致する...
-
3年間同じクラスになる確率
-
インスタンス参照でアクセスで...
-
c++,ある関数のクラスから別の...
-
ワイルドカード<?>と型パラメー...
-
「天声人語」をインターネット...
-
DataGridViewでセルクリックイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
【JAVA】与えられた金額を貨幣...
-
連続する「\\」をひとつの「\\...
-
文字列からダブルクオートの削除
-
VB.Net Object型 空かどうか
-
0除算の例外処理ができない!!...
-
VB.NETで16進数が正しいかどう...
-
数字か文字列かを判定する関数
-
例外ってIf文の中に入れますか...
-
C# マルチスレッドにおける例外...
-
スタックオーバーフローとは?
-
String型の日付(2005/11/25)の...
-
Timestamp型への変換について(J...
-
C# UriFormatExceptionの回避
-
VBA Evaluate関数 型が一致しま...
-
ADOによるレコードの追加/更新
-
時間の取得
-
WebClient()以外でネットにアク...
-
C#の捕捉されない例外処理の対...
-
タトゥーや墨を入れる人の共通点
おすすめ情報