我对Swing很新,我正在尝试制作一个GUI。使用Netbeans的GUI创造者的东西,我设法做出了我喜欢的东西。但是这让我感觉很糟糕,因为我使用编辑器来做这件事,所以现在我正在尝试使用代码来制作相同的设计。 这是我想要做的事情的图片: 现在我只关注创建“标准”部分(是的,我知道我在图片中拼写错了) 以下是我目前所拥有的:
我以红色突出显示,我想增加保证金:Java FlowLayout - 特定元素的边距/填充?
- 的文本框的权利之间,离开了标签
- 的标准面板的顶部和JFrame的 之间的
- 之间的左和里ght面板和JFrame的边
我来自网络开发,增加边际是我想要做的。如果这是不正确的术语,请通知我。 这是我目前使用的代码:
public class Criteria extends JPanel {
JLabel JobLabel = new JLabel();
JLabel BoxLabel = new JLabel();
JLabel PartLabel = new JLabel();
JTextField JobInput = new JTextField();
JTextField BoxInput = new JTextField();
JTextField PartInput = new JTextField();
public Criteria() {
setLayout(new FlowLayout(FlowLayout.LEADING));
setBorder(BorderFactory.createTitledBorder("Criteria"));
JobLabel.setText("Job");
JobLabel.setLabelFor(JobInput);
BoxLabel.setText("Box");
BoxLabel.setLabelFor(BoxInput);
PartLabel.setText("Part");
PartLabel.setLabelFor(PartInput);
JobInput.setColumns(8);
BoxInput.setColumns(8);
PartInput.setColumns(8);
add(JobLabel);
add(JobInput);
add(BoxLabel);
add(BoxInput);
add(PartLabel);
add(PartInput);
}
}
我不知道我怎么想补充保证金这些组件,因此帮助将是非常赞赏。如果我无法通过FlowLayout实现此效果,请告诉我应该使用什么。
我听说过,但我只想改变某些元素之间的差距。例如,我想保留“Job”和第一个框之间的当前差距,但是扩展第一个框和“Box”之间的差距。 (但是这对JPanel和Frame之间的差距有帮助,所以谢谢) – fruitcup
啊。我没有意识到有选择地做到这一点,但是你可以将每个标题和文本框包装在他们自己的JPanel中。我会做的是创建一个自定义组件(扩展JPanel),其中包含某种布局(可能是FlowLayout)中的标题和文本框,然后将它们添加到主FlowLayout面板。 –
工作出色。您应该更新您的答案以包含该内容,然后我会将其标记为已接受。谢谢。 :) – fruitcup