我使用def index
@rooms = Room.active.available(params[:discipline])
search_param = params[:search].present?
if search_param.present?
@rooms = @rooms.near(session[:loc_search], 5, order: 'distance')
end
@rooms = @rooms.ransack(params[:q]).result(distinct: true)
end
作为GridPane
的布局,但是当我在代码中添加Main
时...显示此类错误..
Button
我的控制器和 主要课程
Incompatible types: ContentDisplay cannot be converted to VPos
答案 0 :(得分:0)
您已为ContentDisplay.CENTER
添加了静态导入。因此,它在这一行中使用:
grid.setConstraints(new Button("Check"),3,4,1,2,LEFT,CENTER,Priority.SOMETIMES,Priority.SOMETIMES);
但是,此方法需要VPos
,这不能从ContentDisplay
分配,这就是为什么它不能编译。
您可以通过更改导入的类来简单地修复此导入,但我不建议使用静态导入,因为它使代码更难阅读(您必须检查导入以了解成员的来源)。
我建议导入HPos
和VPos
,然后使用此代码。
此外setColumnConstraints
是static
方法,不应使用变量引用。 (这没有错,但这是不好的做法。)作为static
方法,这不会将Button
添加为grid
的孩子。除了设置约束之外,还需要执行此操作。
Button button = new Button("Check");
GridPane.setConstraints(button,
3, 4,
1, 2,
HPos.LEFT, VPos.CENTER,
Priority.SOMETIMES, Priority.SOMETIMES);
grid.getChildren().add(button);