【发布时间】:2014-05-20 13:05:05
【问题描述】:
请考虑这个 Java 代码片段:
Box buttonBox = Box.createHorizontalBox();
buttonBox.add(new JCheckBox("Select all"));
buttonBox.add(Box.createHorizontalGlue());
buttonBox.add(new JLabel("Filter: "));
buttonBox.add(new JTextField());
Box paneBox = Box.createVerticalBox();
paneBox.add(buttonBox);
paneBox.add(new JScrollPane(jList));
出于某种我不明白的原因,JTextField 占据了大部分屏幕。 jList 甚至不再可见。我想知道为什么以及如何解决它。
当我用 JTextField 注释该行时,它看起来很好(当然,没有 JTextField 除外)。为什么 JCheckBox 和 JLabel 没有变得大得离谱?单行的JTextField能占据几乎整个屏幕的目的是什么?
大多数人建议根据我的需要设置 JTextField 字段的大小。但是,我读到我不应该调用这些方法,而是让 LayoutManager 来处理它。现在防止 JTextField 变得如此大的最优雅的解决方案是什么?
【问题讨论】:
-
@usama8800:你能扩展一下吗?
标签: java jtextfield layout-manager