Java 按钮之间有无法解释的空格

Java 按钮之间有无法解释的空格,java,javafx,Java,Javafx,我对运动有问题。场景中第一个和第二个按钮之间存在无法解释的空格。我已经更改了按钮的位置,但第一个按钮仍然与第二个按钮有一个空间。这是什么原因造成的?如何缩短此空间? 公共空间开始阶段myStage{ GridPane myPane=新建GridPane; myPane.setPaddingnew Inserts10,10,10,10; myPane.setHgap10; myPane.setVgap10; 按钮btn1=新按钮计算机科学; 按钮btn2=新的按钮; 按钮btn3=新按钮; Dr

我对运动有问题。场景中第一个和第二个按钮之间存在无法解释的空格。我已经更改了按钮的位置,但第一个按钮仍然与第二个按钮有一个空间。这是什么原因造成的?如何缩短此空间?

公共空间开始阶段myStage{ GridPane myPane=新建GridPane; myPane.setPaddingnew Inserts10,10,10,10; myPane.setHgap10; myPane.setVgap10; 按钮btn1=新按钮计算机科学; 按钮btn2=新的按钮; 按钮btn3=新按钮; DrawText txt1=新DrawText计算机科学,Times Roman,FontWeight.BOLD,FontPositure.ITALIC,20,Color.GREEN; DrawText txt2=新DrawTextChemistry,Times Roman,FontWeight.BOLD,FontPositure.ITALIC,20,Color.BLUE; DrawText txt3=新DrawTextArts,Times Roman,FontWeight.BOLD,FontPositure.ITALIC,20,Color.YELLOW; setConstraintsbtn1,0,1; SetConstraintsSBTN2,1,1; SetConstraintsSBTN3,2,1; setConstraintstxt1,0,2; setConstraintstxt2,0,3; setConstraintstxt3,0,4; myPane.getChildren.addAllbtn1、btn2、btn3、txt1、txt2、txt3; 场景myScene=newscenemypane,350190; myStage.setscenemscene; myStage.setTitleExercise 3_3; myStage.show; } 您通常可以通过打开网格线来调试网格窗格布局问题:

myPane.setGridLinesVisible(true);
重新创建应用程序后,您没有包含DrawText类,因此我只是设置标签样式,打开网格线揭示了问题:

您可以看到网格窗格位置0、1处的“计算机科学”标签的宽度大于“计算机科学”按钮的宽度。这将导致GridPane扩展第一列的宽度以容纳标签

根据您希望布局的工作方式,您有几个选项可以解决此问题

1套柱跨:

如果要保持“计算机科学”按钮的大小相同,但第一列的宽度不展开以适应标签,则只需使该标签跨越两列:

GridPane.setColumnSpan(txt1, 2);
2增加按钮宽度:

如果希望“计算机科学”按钮展开以填充列的其余部分,可以将其MaxWidth属性设置为使用最大值:

btn1.setMaxWidth(Double.MAX_VALUE);

看看GridPane的java文档,特别是它如何调整内容大小的规范