0

私は 5 つの異なる色のラジオ ボタンを持つプログラムに取り組んでおり、クリックすると背景が対応する色に変わるはずです。私の背景は変わりません。私は自分のコードの何が問題なのかを一生理解できません。誰かが私の問題を見つけるのを手伝ってくれますか? ありがとうございました!私のコードは次のとおりです。

public void actionPerformed(ActionEvent e)
{
    if (blue.getState()) f.setBackground(Color.blue);
    else if (red.getState()) f.setBackground(Color.red);
    else if (yellow.getState()) f.setBackground(Color.yellow);
    else if (pink.getState()) f.setBackground(Color.pink);
    else if (gray.getState()) f.setBackground(Color.gray);
} //end of actionPerformed method

public void itemStateChanged(ItemEvent e)
{
}
4

1 に答える 1

3

に応答するが応答しないjava.awt.CheckBoxコンポーネントを(以前の質問から)使用している可能性が高いです。したがって、コードをメソッドに移動しますItemListenersActionListenersitemStateChanged

public void itemStateChanged(ItemEvent e) {

    if (blue.getState()) {
        f.setBackground(Color.BLUE);
    } else if (red.getState()) {
        f.setBackground(Color.RED);
    } else if (yellow.getState()) {
        f.setBackground(Color.YELLOE);
    } else if (pink.getState()) {
        f.setBackground(Color.PINK);
    } else if (gray.getState()) {
        f.setBackground(Color.GRAY);
    }
}
  • 中かっこを使用してスコープを区切る
  • 新しい大文字のColor定数の使用に注意してください
  • AWT は、機能が豊富な新しい軽量のSwingと比較して、古い限定された UI ライブラリです。スイングJCheckBoxesサポートActionListeners
于 2013-07-24T00:01:18.887 に答える