0

我想要一个可调整大小的应用程序,并且我正在构建一个嵌套面板 GUI。在一个面板中,我需要 Spinners 和 Labels。我想要 Spinner 左侧的标签。在考虑调整大小问题时,实现这一目标的最佳方法是什么:

1.我可以创建一个垂直的 BoxLayout 面板,并添加 x 个子面板,其中每个子面板包含一个标签和一个微调器:

JPanel ControlPanel = new JPanel();
ControlPanel.setLayout(new BoxLayout(ControlPanel, BoxLayout.Y_AXIS));
JPanel LabelledSpinner = new JPanel();
LabelledSpinner .setLayout(new BoxLayout(LabelledSpinner , BoxLayout.X_AXIS));
JLabel lab1 = new JLabel("Label1");
JSpinner spin1 = new JSpinner();
spin1.setModel(new SpinnerNumberModel(300, 10, 3000, 10));
LabelledSpinner .add(lab1);
LabelledSpinner .add(spin1);
ControlPanel.add(LabelledSpinner );

或者

2.我可以创建一个 2 列 x 行的 GridBagLayout 面板。然后每一行都有一个标签,然后是一个微调器。

哪个最好?

还是这个“常见”的标签问题有更简单的解决方案?

4

1 回答 1

0
  1. 使用布局管理器方法肯定更好。

  2. 有一个 JDK Swing 教程讨论了使用SprintLayoutManager http://docs.oracle.com/javase/tutorial/uiswing/layout/spring.html构建布局之类的表单

从标准布局管理器开始。当您使用不同的布局管理器时,您最终会想出最适合您要求的组合。

另一种选择是使用 GroupLayout,它可以帮助向表单 UI 添加稍微复杂的组件。http://docs.oracle.com/javase/tutorial/uiswing/layout/groupExample.html

希望有帮助。

于 2013-10-11T10:04:36.230 回答