java如何链接JLabel和JSpinner以调整大小
我想有一个可调整大小的应用程序,我正在构建一个嵌套面板GUI。在一个面板中,我需要微调器和标签。我想把标签放在旋转器的左边。在考虑调整大小问题时,实现这一点的最佳方法是什么:
一,。我可以创建一个垂直的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 );
或者
二,。我可以创建一个GridBagLayout面板,包含2列和x行。然后每一行都会有一个标签和一个微调器
哪一个最好
或者这个“常见”的标签问题有更简单的解决方案吗
# 1 楼答案
使用布局管理器方法肯定更好
有一个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
希望有帮助