0

こんにちは、知りたいです。JButton を使用して、変数を true または false に、またはその逆に設定するにはどうすればよいですか? 私の最初の考えは、次のような変数を作成することです

private boolean value1, value2;

そしてボタンのような

private JButton toggle1, toggle2;

// 以下のコードを参照

問題は、どういうわけかボタンに反応しないことです。この方法で可能ですか、それとも何か他のものを使用する必要がありますか?

編集:関連するコードは次のとおりです。(私のActionListener)

    public void actionPerformed(ActionEvent e) {

    if( e.getSource() == toggle1 ) {

        if(aan1 == false) {

            aan1 ^= true;
            System.out.println(aan1);

        }
        else if(aan1 == true) {

            aan1 ^= false;
        }

    }

    try {
        // controleer of de ingevulde waarde tussen de 0 en de 15 is
        if( e.getSource() == burn && Integer.parseInt(textfield.getText()) < 16 && Integer.parseInt(textfield.getText()) > 0) {
            // brand kaars
            if( height > 15 && aan1 == true) {

                int aantal = Integer.parseInt(textfield.getText());
                height -= aantal;
            }


            if( height2 > 15 && aan2 == true) {
                int aantal = Integer.parseInt(textfield.getText());
                height2 -= aantal;
            }

            // opnieuw tekenen
            repaint();

        }
        else {

            JOptionPane.showMessageDialog(null, "error: vul een getal tussen de 0 en 15 in!"); // alertbox melding

        }
    }
    catch(NumberFormatException error) {

        JOptionPane.showMessageDialog(null, "error: een van de velden bevat geen cijfer of is niet ingevuld!"); // alertbox melding

    }

}
4

4 に答える 4

2

何を求めているのか正確にはわかりませんが、使用できるブール値の値を切り替えるには:

value1 = !value1;

また

value1 ^= true;

次に、変数を出力します。

System.out.println(value1);
于 2012-10-03T12:45:24.263 に答える
2

How to Use Buttonsで提案されているように、述語はボタンの状態を反映するJToggleButtonため、これには良い選択かもしれません。isSelected()

state = button.isSelected()

例は、ここここ、およびここにあります。

于 2012-10-03T15:26:19.040 に答える
1

これを行うだけですか?:

value1 != value1;

これは現在の値を反転します。したがって、false の場合は true に変更され、その逆も同様です。

編集: する必要があります:

value = !value;
于 2012-10-03T12:47:02.883 に答える
0

ボタンを押したときにブール変数を切り替えたい場合は、その目的のために、内部ブール状態を持ち、この変数を自動的に更新するJCheckBox代わりにを使用する必要があります。JButtonこのチェックボックスを使用すると、このブール状態がユーザーに表示されます。

ブール変数が必要な場合は、JCheckBox.isSelected()メソッドを使用して求めることができます。

于 2012-10-03T12:49:30.273 に答える