我使用netbeans中的GUI编辑器创建一个简单的JFrame,背景图像设置为netbeans网站建议的标签中的图标,标签和按钮居中。我没有使用空布局并设置像素使它们居中,我很难将它们居中。我有一个800X600的图像作为背景,我不希望窗口可以调整大小。所以我在属性中取消选中resizeable,在代码选项卡上我将设计器大小设置为800,600,检查生成大小,并且表单大小自动设置为816,638。这样就会给我一个右边和底部的边框几个像素的边。如果我将表单大小更改为800,600,则背景图像会被几个像素截断。我设置的另一件可能影响的事情是在properties =>边界设置为800,600,800,600。
关于如何在不允许窗口可调整大小的情况下摆脱边框的任何建议以及关于是否有不同的布局可以帮助对中的任何建议都将非常感激。我确实找到了Grid Bag布局有用的一些信息,但我还是不能让它正常工作。我认为编写代码而不是使用GUI编辑器也可能是一个更好的选择,但我很新,所以对此的任何建议都会很好。
答案 0 :(得分:1)
如果使用正确的布局或布局组合,则可以非常轻松地使组件居中,从而不要使用空布局。例如,如果你想要一个JButton旁边的JLabel并让它们居中在JPanel中,首先将JLabel和JButton放入它们自己的JPanel中(确保将此JPanel的opaque属性设置为false)然后让包含JPanel的GridBagLayout 。如果在没有GridBagConstraints的情况下添加一个组件(内部JPanel),则组件将自动居中,即使调整了包含JPanel的大小。它几乎可以防止白痴,而null布局是难以维护的代码的配方。