【问题标题】:Why am I receiving an error when trying to add a Button to a GridPane?为什么我在尝试将按钮添加到 GridPane 时收到错误消息?
【发布时间】:2020-09-24 05:11:59
【问题描述】:

grid.add(button, c, r); 出现错误说“GridPane 类型中的方法 add(node, int, int) 不适用于参数 (Button, int, int)”。这是一件微不足道的事情,但我无法弄清楚出了什么问题。我知道这是说我正在尝试将 Button 放在节点应该在的位置,但我查看了添加到网格窗格中的按钮示例,它们具有完全正确的语法,没有任何问题。

很抱歉,如果之前有人问过/回答过这个问题,我找不到任何与此相同的问题。

public class Demo extends Application {
    public static void main(String[] args) {
        // Nothing
    }

    @Override
    public void start(Stage stage) {
        GridPane grid = new GridPane();
        grid.setPadding(new Insets(3));
        grid.setHgap(10);
        grid.setVgap(10);

        for (int r = 0; r < 10; r++) {
            for (int c = 0; c < 10; c++) {
                int number = 10 * r + c;
                Button button = new Button();
            
                grid.add(button, c, r); 
            }
        }

        stage.show();
    }
}

【问题讨论】:

  • 检查导入,可能是awt ..?
  • 您是否加载了java.awt.Buttonjavafx.scene.control.Button
  • 奇怪,我都没有加载。通常,当我创建一个 Button 时,它会提供导入它的选项,但这次我没有获得该选项,并且我没有看到创建 Button 本身的任何错误。现在我手动导入它,它工作正常。愚蠢的小错误。谢谢!

标签: java javafx


【解决方案1】:

也许,检查导入以确保您不是从 java.awt 库导入?

import javafx.geometry.Insets;
import javafx.scene.control.Button;

【讨论】:

  • 奇怪,我都没有加载。通常,当我创建一个 Button 时,它会提供导入它的选项,但这次我没有获得该选项,并且我没有看到创建 Button 本身的任何错误。现在我手动导入它,它工作正常。愚蠢的小错误。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-08
  • 2016-07-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多