>あてずっぽうで回答するなら
>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のみを再描画
}
}
補足
回答ありがとうございました。質問形式が適切ではなく申し訳ありませんでした。 背景色とは表示領域全体を塗りつぶすことです。 ソースコードは以下のとおりです。 // 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) { } }