我正在创建一个Java swing应用程序,我很难很好地定位元素。
如何让输入框和组合框说30px高?另外,我如何才能使所有文本的右边缘垂直排列,所有输入框的左边缘垂直排列?
我有一个主要的JPanel,即BoxLayout.Y_AXIS,然后我在主JPanel上有6个JPanel。这6个JPanels设置为BorderLayout,你可以看到我使用WEST作为输入字段的JLabels和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;
}
让我知道是否有更好的方法来进行此类布局。 感谢。
答案 0 :(得分:5)
您要么必须将布局嵌套在彼此内部,要么使用更复杂的布局(Spring,GridBag,Mig)或两者来获得所需的效果。