How can i do onClick with List of Buttons (GWT)

102 Views Asked by At

How can i do OnClick with List of Buttons. I know that OnClick work only with Button, but on the page i will have a lot of buttons. I need to do next -> If the clicked value is equal or less than 30, present X new random numbers on the screen 9. If the clicked value is more than 30, pop up a message “Please select a value smaller or equal to 30.” But i cant because i dont know how take Button to OnClick from VerticalPannel

@Override
    public void onModuleLoad() {

        VerticalPanel mainButtons = new VerticalPanel();
        VerticalPanel buttonPanel = new VerticalPanel();

        Button sendButton = new Button("Enter");
        Button sortButton = new Button("Sort");
        Button resetButton = new Button("Reset");

        List<Button> buttons = new ArrayList<>();
        TextBox numberField = new TextBox();

        mainButtons.add(sortButton);
        mainButtons.add(resetButton);
        mainButtons.add(buttonPanel);


        RootPanel.get("nameFieldContainer").add(numberField);
        RootPanel.get("sendButtonContainer").add(sendButton);

        sendButton.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {

                if(numberField.getText()!= null && !numberField.getText().equals(" ")) {

                    int numberOfButtons = Integer.parseInt(numberField.getText());

                    for(int i = 0; i < numberOfButtons; i++){
                        int randomNumber = (int) (Math.random() * 1000);
                        buttons.add(new Button(randomNumber + ""));
                    }

                    for(Button button: buttons){
                        buttonPanel.add(button);
                    }

                    RootPanel.get("mainButtons").add(mainButtons);
                    DOM.getElementById("intro").getStyle().setDisplay(Style.Display.NONE);
                    DOM.getElementById("mainButtons").getStyle().setDisplay(Style.Display.BLOCK);
                }
            }
        });
0

There are 0 best solutions below