问题描述
如何使用按钮列表执行 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 (将#修改为@)