获取固定大小的GridLayout

时间:2014-01-25 02:51:48

标签: java swing jframe size jbutton

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

是否有办法为中心组件获取固定大小,同时允许JTextArea仍然展开?

1 个答案:

答案 0 :(得分:2)

  

“我需要为一个GridLayout制作一个固定大小,其中100个按钮位于BorderLayout的中心部分”。

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

  

“只要文本长度超过位于东部的当前JTextAreas的大小,Gridlayout就会不断缩小中心组件。”

您应该将文字区域包裹在文本区域的JScrollPanesetLineWrap(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

如果没有更多的背景信息,这些确实是我能提出的唯一有效建议。