【问题标题】:Get a Fixed sized GridLayout获取固定大小的 GridLayout
【发布时间】:2014-01-25 02:51:47
【问题描述】:

我需要为 GridLayout 制作一个固定大小的 GridLayout,它有 100 个按钮位于 BorderLayout 的中心部分。在边框布局的东部部分是另一个 Gridlayout,只要文本长于位于东部的当前 JTextAreas 的大小,它就会不断缩小中心组件。 JFrame 也无法调整大小。

有没有办法让中心组件保持固定大小,同时允许 JTextArea 仍然扩展?

【问题讨论】:

标签: java swing jframe size jbutton


【解决方案1】:

“我需要为一个有 100 个按钮的 GridLayout 设置一个固定大小的边框布局”。

抱歉,这行不通。 BorderLayout 不是那样工作的。您可以使用不同的布局管理器嵌套 JPanel 容器以获得所需的效果。

“只要文本长于位于东部的当前 JTextAreas 的大小,网格布局就会不断缩小中心组件。”

您应该将您的文本区域包裹在JScrollPane 中,并在您的文本区域上使用setLineWrap(true)setWrapStyleWord(true)。最后两个将设置它,以便输入的行在到达文本区域的右边缘时换行。此外,如果您将大小设置为文本区域,请不要。相反,使用下面的构造函数来设置它的大小

JTextArea jta = new JTextArea(20, 50);   <--- rows, and character columns
jta.setLineWrap(true);
jta.setWrapStyleWord(true);
JScrollPane scroll = new JScrollPane(jta);

container.add(scroll);  <--- make sure you don add jta anywhere else

如果您的问题没有更多上下文,这些确实是我能提出的唯一有效建议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    相关资源
    最近更新 更多