Java 我使用什么代码来获取复选框中的复选框数量?

Java 我使用什么代码来获取复选框中的复选框数量?,java,netbeans,Java,Netbeans,我目前正在做一项实验任务。我基本上必须用Javafx创建一个GUI,提示用户制作比萨饼。虽然我没有像挑选奶酪或酱汁那样让它变得超级复杂,我被允许在配料上使用复选框。我遇到的问题是找出哪些盒子被选中,这样我就可以在最后计算出比萨饼的最终价格。这是我现在使用NetBeans的代码。一旦我有了复选框金额,我就可以算出剩下的,这样你就不必担心底部的返回过程了,谢谢 public PizzaPane() { Font font = new Font(18); CheckBox cb1

我目前正在做一项实验任务。我基本上必须用Javafx创建一个GUI,提示用户制作比萨饼。虽然我没有像挑选奶酪或酱汁那样让它变得超级复杂,我被允许在配料上使用复选框。我遇到的问题是找出哪些盒子被选中,这样我就可以在最后计算出比萨饼的最终价格。这是我现在使用NetBeans的代码。一旦我有了复选框金额,我就可以算出剩下的,这样你就不必担心底部的返回过程了,谢谢

public PizzaPane()
{
    Font font = new Font(18);



    CheckBox cb1 = new CheckBox("Bacon");
    CheckBox cb2 = new CheckBox("Peppers");
    CheckBox cb3 = new CheckBox("Sausage");
    CheckBox cb4 = new CheckBox("Extra Cheese");
    CheckBox cb5 = new CheckBox("Ham");
    CheckBox cb6 = new CheckBox("Onions");

    Button push = new Button("Total!");
    push.setOnAction(this::processReturn);

    Label outputLabel = new Label("Property Output:");
    outputLabel.setFont(font);
    GridPane.setHalignment(outputLabel, HPos.RIGHT);

    result = new Label("---");
    result.setFont(font);
    GridPane.setHalignment(result, HPos.CENTER);


    setAlignment(Pos.CENTER);
    setHgap(50);
    setVgap(20);
    setStyle("-fx-background-color: yellow");
    setGridLinesVisible(false);



    add(cb1 , 1, 2);
    add(cb2 , 1, 3);
    add(cb3 , 1, 4);
    add(cb4 , 1, 5);
    add(cb5 , 1, 6);
    add(cb6 , 1, 7);
    add(push, 2, 0);
    add(outputLabel, 0, 1);
    add(result, 1, 1);






}
  public void processReturn(ActionEvent event)

{

    double fValue =(10);

    result.setText(fValue + "");
}
在此处输入code
}

您必须使用JCheckBox类中的方法才能知道复选框的状态。在您的情况下,您需要计算选中的复选框的数量,因此必须有一个计数器来计算复选框的数量,如下面的代码所示

int numberOfCheckedBoxes = 0;

numberOfCheckedBoxes += (cb1 != null && cb1.isSelected() ? 1 : 0);
numberOfCheckedBoxes += (cb2 != null && cb1.isSelected() ? 1 : 0);
numberOfCheckedBoxes += (cb3 != null && cb1.isSelected() ? 1 : 0);
numberOfCheckedBoxes += (cb4 != null && cb1.isSelected() ? 1 : 0);
numberOfCheckedBoxes += (cb5 != null && cb1.isSelected() ? 1 : 0);
numberOfCheckedBoxes += (cb6 != null && cb1.isSelected() ? 1 : 0);

System.out.println("Number of Checked Boxes = " + numberOfCheckedBoxes);

更好的设计是将所有ui组件声明为实例变量,并在方法中包含上述代码。

当更改所有内容时,它会是什么样子?我在回答中已经解释过了。你应该自己试试。