![](/img/trans.png)
[英]How to prevent someone from rapid clicking on a FileDownloader button in Vaadin 8?
[英]Prevent user from clicking the same button?
我真的是 Java 新手,我在做這個項目時正在學習 javafx。單擊按鈕時,代碼將行和列發送到另一個類。 我的邏輯相應地將行和列發送到另一個類。 但我想阻止用戶點擊同一個按鈕。 我將如何去做。 我知道有一個 setDisable 函數,但如何實現它。
for (row = 0; row < 10; row++) {
for (coloumn = 0; coloumn < 10; coloumn++) {
button[row][coloumn] = new Button();
// button[row][coloumn].setStyle("-fx-background-color: red");
button[row][coloumn].setPrefSize(50, 50);
button[row][coloumn].setOnAction(new clickEvents(row, coloumn));
//no setters, directly passed rows and cols to clickEvents Class
tileGrid.add(button[row][coloumn], row, coloumn); //adds buttons to the tile grid
//node , row position in grid, column position in grid
}
}
Revised
for (row = 0; row < 10; row++) {
for (coloumn = 0; coloumn < 10; coloumn++) {
button[row][coloumn] = new Button();
// button[row][coloumn].setStyle("-fx-background-color: red");
button[row][coloumn].setPrefSize(50, 50);
button[row][coloumn].setOnAction(new clickEvents(row, coloumn));
temprow= row;
tempcol=coloumn;
//if(row==temprow && coloumn == tempcol )
if(button[row][coloumn].isPressed()) {
button[row][coloumn].setDisable(true);
}
//no setters, directly passed rows and cols to clickEvents Class
tileGrid.add(button[row][coloumn], row, coloumn); //adds buttons to the tile grid
//node , row position in grid, column position in grid
}
閱讀文檔。
button.setDisable(true);
順便說一下,適用於從 Node 繼承的任何組件,因此您可以禁用場景中的幾乎所有內容。
創建按鈕時,設置一個名為clicked
的布爾值,並初始化為 false。 當用戶單擊按鈕時,處理程序將觸發,並將布爾值設置為 true。 然后你有一些邏輯在clicked
上分支。 如果為 true,則不執行任何操作(因為該按鈕之前已被禁用),如果為 false,則禁用該按鈕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.