В нашем классе мы получили задание, мы должны создать графический интерфейс для пиццы, используя флажки для начинки и переключатели для размера и типа пиццы.Использование обработчика событий в JAVA FX
Мы уже создали базовую основу для моего графического интерфейса, и я даже реализовал логику, но у меня возникла небольшая проблема.
В моей программе я хочу, чтобы пользователь выбирал свою начинку, размер пиццы и тип пиццы. После того, как пользователь выполнит указанную задачу, я хочу, чтобы они щелкнули процесс выбора, и информация вместе с ценами будет добавлена в новую текстовую область.
К сожалению, даже при вызове строки (где я держу все) в новой текстовой области я все равно получаю пустое место.
Таким образом, я оставлен, чтобы поверить в то, что я неправильно вызвал действие в обработчике. Я также получаю предупреждение «параметр события не используется»
Я вырезал снипп моего кода ниже, так как вы можете видеть, что я пытаюсь сохранить все данные в тексте ordertext, а затем называть его в своем новом тексте зона заказов. Я надеюсь, кто-то может заметить ошибку, которую я сделал, или дать мне некоторое представление о том, что я пропускаю. Спасибо
TextArea orderscreen = new TextArea();
orderscreen.setPrefColumnCount(50);
orderscreen.setPrefRowCount(7);
grid.add(orderscreen, 0, 4);
orderscreen.setText(ordertext);
btn.setOnAction((ActionEvent event) -> {
String mytoppings = "";
double mytopcost = 0.0;
if (chkTom.isSelected()) {
mytoppings = mytoppings + "Tomato "; // Topping
mytopcost += 1.50; // price
}
if (chkGP.isSelected()) {
mytoppings = mytoppings + "Green Peppers "; // Topping
mytopcost += 1.50; // pice
}
if (chkBO.isSelected()) {
mytoppings = mytoppings + "Black Olives "; // Topping
mytopcost += 1.50; // pice
}
if (chkMR.isSelected()) {
mytoppings = mytoppings + "MushRooms "; // Topping
mytopcost += 1.50; // pice
}
if (chkEC.isSelected()) {
mytoppings = mytoppings + "Extra Cheese "; // Topping
mytopcost += 1.50; // pice
}
if (chkPep.isSelected()) {
mytoppings = mytoppings + "Peppeoni "; // Topping
mytopcost += 1.50; // pice
}
if (chkSS.isSelected()) {
mytoppings = mytoppings + "Sausage "; // Topping
mytopcost += 1.50; // pice
}
else {
mytoppings = mytoppings + "No toppings selected ";
}
//Pizza Types
String mypizzatype = "";
// rbTC.setOnAction(e -> {
if (rbTC.isSelected()) {
mypizzatype = mypizzatype + "Thin Crust "; // Type
}
// });
//rbMC.setOnAction(e -> {
if (rbMC.isSelected()) {
mypizzatype = mypizzatype + "Medium Crust "; // Type
}
// });
if (rbP.isSelected()) {
mypizzatype = mypizzatype + "Pan "; // Type
}
// PIZZA SIZES
String mypizzasize = "";
Double smpzcost = 6.50;
Double mdpzcost = 8.50;
Double lgpzcost = 10.00;
if (rbSM.isSelected()) {
mypizzatype = mypizzasize + "Small "; // Type
order = smpzcost;
}
if (rbMD.isSelected()) {
mypizzatype = mypizzasize + "Medium "; // Type
order = mdpzcost;
}
if (rbLG.isSelected()) {
mypizzatype = mypizzasize + "Large "; // Type
order = lgpzcost;
}
ordertext = ("Your Order: "
+ "\nPizza type: " + mypizzatype
+ "\nPizza Size: " + mypizzasize
+ "\nToppings: " + mytoppings
+ "\nAmount Due: " + (order + mytopcost));
System.out.println("Order Processed");
//orderscreen.clear(); // WILL CLEAR
});
Oh и, пожалуйста, извините Println («заказ обрабатывается»), который был я устраняю неполадки –