我将如何简化此代码?

时间:2017-01-06 17:56:55

标签: java javafx

我一直在关注如何使用JavaFX创建Java Gui程序的在线教程。

这是我在使用教程后制作的程序之一。我决定在命令行中添加一个计数器,它会显示订单数量以及客户选择,虽然我能够解决这个问题但计数器功能看起来效率低下。

我觉得添加另一个类只是添加orderNumber变量是错误的。

有关于简化此代码的建议吗?

另外,我还可以在订单后输出orderNumber?

public class Main extends Application {

private class Order {
    public int orderNumber = 0;
}

Stage window;
Button button;

public static void main(String[] args) {
    launch(args);
}

@Override
public void start (Stage primaryStage) throws Exception {

    Order Number = new Order();

    window = primaryStage;
    window.setTitle("Luke's Sandwich's");

    //Check Box's
    CheckBox box1 = new CheckBox("cheese");
    CheckBox box2 = new CheckBox("Bacon");
    CheckBox box3 = new CheckBox("Tuna");
    CheckBox box4 = new CheckBox("Tomatoes");
    box1.setSelected(true);



    //button
    button = new Button("Order Now");
    button.setOnAction(e -> {
        Number.orderNumber++;
        System.out.println("order: " + Number.orderNumber);
        handleOptions(box1,box2,box3,box4);
    });

    VBox layout = new VBox(10);
    layout.setPadding(new Insets(20));
    layout.getChildren().addAll(box1,box2,box3,box4,button);

    Scene scene = new Scene(layout,300,250);
    window.setScene(scene);
    window.show();

}

//Handle checkbox options
public void handleOptions (CheckBox box1,CheckBox box2,CheckBox box3,CheckBox box4){


    String message = "user order:\n";

        if(box1.isSelected())
            message += "cheese\n";
        if(box2.isSelected())
            message += "bacon\n";
        if(box3.isSelected())
            message += "tuna\n";
        if(box4.isSelected())
            message += "tomatoes\n";
    System.out.println(message);
}
}

0 个答案:

没有答案