My clear button won\'t work. any ideas? package testscoregui; import java.util.A
ID: 3771834 • Letter: M
Question
My clear button won't work. any ideas?
package testscoregui; import java.util.ArrayList; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.GridPane; import javafx.stage.Stage; import javafx.scene.layout.HBox; import javafx.geometry.Pos; import javafx.geometry.Insets; import javafx.scene.layout.BorderPane; import javafx.scene.control.TextField; public class TestScoreGUI extends Application { private final TextField tfEnterScore = new TextField(); private final TextField tfNumberOfScores = new TextField(); private final TextField tfAverageScore = new TextField(); private final TextField tfBestScore = new TextField(); @Override // override the start method in the application class public void start(Stage primaryStage) { //Create user interface // Create gridpane and add textfields GridPane pane = new GridPane(); pane.setHgap(5); pane.setVgap(5); pane.add(new Label("Enter score:"), 0, 0); pane.add(tfEnterScore, 1, 0); pane.add(new Label("Number of scores:"), 0, 1); pane.add(tfNumberOfScores, 1, 1); pane.add(new Label("Average score:"), 0, 2); pane.add(tfAverageScore, 1, 2); pane.add(new Label("Best score:"), 0, 3); pane.add(tfBestScore, 1, 3); // set properties for gridpane pane.setAlignment(Pos.CENTER); tfEnterScore.setAlignment(Pos.BOTTOM_RIGHT); tfNumberOfScores.setAlignment(Pos.BOTTOM_RIGHT); tfAverageScore.setAlignment(Pos.BOTTOM_RIGHT); tfBestScore.setAlignment(Pos.BOTTOM_RIGHT); tfNumberOfScores.setEditable(false); tfAverageScore.setEditable(false); tfBestScore.setEditable(false); // Create four buttons HBox hBox = new HBox(5); hBox.setSpacing(10); hBox.setAlignment(Pos.CENTER); hBox.setPadding(new Insets(5)); Button btEnterScore = new Button("Enter score"); Button btClear = new Button("Clear"); Button btExit = new Button("Exit"); hBox.getChildren().addAll(btEnterScore, btClear, btExit); // Create borderpane and align hbox and pane in BorderPane borderPane = new BorderPane(); borderPane.setCenter(pane); borderPane.setBottom(hBox); // Create a scene and place borderpane in the stage Scene scene = new Scene(borderPane, 300, 200); primaryStage.setTitle("Test Scores"); primaryStage.setScene(scene); primaryStage.show(); btEnterScore.setOnAction(( ActionEvent e) -> { // Create array to store scores as elements double score; score = Double.parseDouble(tfEnterScore.getText()); ArrayList list = new ArrayList<>(); for(int i = 1; i <= score; i++) list.add(i); double sum = 0; for (int i = 0 ; i < list.size(); i++) sum += list(i); // Display results tfNumberOfScores.setText(String.format("", list.size())); tfAverageScore.setText(String.format("", sum / list.size())); tfBestScore.setText(String.format("", java.util.Collections.max(list))); }); btClear.setOnAction(e -> { //list.clear(); }); btExit.setOnAction(e -> { System.exit(0); }); } public static void main(String[] args) { Application.launch(args); } }
Explanation / Answer
If you want to clear the text box just use like this
JTextField.setText = "";
after that execute the function to clear the arraylist
by using ArrayList.clear();
It will easily clear both the TextField and the Arraylist in same. So, you can easily execute multiple values without any kind of garbage values
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.