我正在创建一个Java swing应用程序,并且很难很好地定位元素。

我将如何使输入框和组合框的高度设置为30px?另外,我将如何使所有文本的右边缘垂直对齐,而所有输入框的左边缘垂直对齐?

我有一个主JPanel,它是BoxLayout.Y_AXIS,然后在主JPanel上有6个JPanel。这6个JPanels设置为BorderLayout,正如您所看到的,我已经将WEST用于JLabel,并将EAST用于输入字段。

这是我如何创建位于主面板顶部的第一个面板的片段。

private JPanel getProtocolPanel() {

    protocolNumber.setBorder(BorderFactory.createLineBorder(Color.GREEN));
    protocolNumberInput.setBorder(BorderFactory.createLineBorder(Color.CYAN));
    protocolNumber.setVerticalAlignment(SwingConstants.TOP);

    protocolPanel = new JPanel();
    protocolPanel.setLayout(new BorderLayout());

    protocolPanel.setBorder(BorderFactory.createLineBorder(Color.RED));
    protocolPanel.add(protocolNumber, BorderLayout.WEST);
    protocolPanel.add(protocolNumberInput, BorderLayout.EAST);

    return protocolPanel;
}




让我知道是否有更好的方法来进行这种布局。
谢谢。

最佳答案

您要么必须将布局相互嵌套,要么要使用更复杂的布局(Spring,GridBag,Mig),或者同时使用两者才能获得理想的效果。

09-30 14:59