fru*_*cup 3 java swing padding layout-manager gaps-in-visuals
我是Swing的新手,我正在尝试制作一个GUI.使用Netbeans的GUI创建者的东西,我设法制作了我喜欢的东西.但是我使用编辑器让我感觉很糟糕,所以现在我尝试使用代码进行相同的设计.这是我想要制作的图片:
现在我只专注于创建"标准"部分(是的,我知道我在图片中拼错了)这是我目前所拥有的:
我用红色突出显示了我想增加保证金的地方:
我来自网络开发,增加利润是我想要做的.如果这是不正确的术语,请通知我.这是我目前使用的代码:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道如何为这些组件添加保证金,所以非常感谢帮助.如果我无法通过FlowLayout实现此效果,请告诉我应该使用的是什么.
Har*_*tts 22
Swing倾向于称边距或边界"差距".在FlowLayout类(其他一些布局类一起)允许您设置的水平和垂直间距在其构造,就像这样:
private static final int PADDING = 3; // for example
...
setLayout(new FlowLayout(FlowLayout.LEADING, PADDING, PADDING));
Run Code Online (Sandbox Code Playgroud)
但是,这会在标签和文本框之间添加填充,但是您可以将每个对包装在一个JPanel(可能带有a FlowLayout)中.我会为此创建一个自定义组件类.
您应该考虑使用EmptyBorder为您的组件"填充".如果JPanel或其他组件周围需要多种类型的边框,则可以创建复合边框或嵌套JPanel.对于组件之间的间隙,您可以使用如上所述的FlowLayout设置,或者可以使用Box类中的支柱.
| 归档时间: |
|
| 查看次数: |
22769 次 |
| 最近记录: |