我如何使用按钮列表 (GWT) 进行 onClick

问题描述

如何使用按钮列表执行 OnClick。我知道 OnClick 只适用于 Button,但在页面上我会有很多按钮。 我需要做下一步 -> 如果点击的值等于或小于 30,则在屏幕上显示 X 个新的随机数 9、如果点击的数值大于30,弹出提示“请选择小于或等于30的数值”。但我不能,因为我不知道如何将 Button 从 VerticalPanel 带到 OnClick

@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);
                }
            }
        });

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)