Java的。如何使用可调整大小的文本区域和固定按钮区域创建JPanel?

时间:2016-05-18 15:01:09

标签: java swing jpanel layout-manager

如何在Java中获得这样的布局?

| ---------------------------------------------- - |
|固定尺寸"顶部"带标签的面板
| ---------------------------------------------- |
|可调整大小的文本区域
|它扩展到大多数父母 |面板(固定区域除外)
|
| ---------------------------------------------- |
|修复了JTextArea(总是2行
|全帧宽度)
| ---------------------------------------------- |
| RightCenteredButtons
| ---------------------------------------------- |

我尝试了下面的代码,但我无法让它工作。元素是浮动的,文本区域是冲突的。我无法弄清楚如何将文本区域扩展到除固定区域之外的所有可用框架。

 JPanel top = new JPanel(new FlowLayout(FlowLayout.LEFT , 10, 10));
 top.add(label1);
  ....
 top.add(labelLast);
 add(top);
 JTextArea area1 = new JTextArea();
 add(area1);
 JTextArea area2 = new JTextArea();
 add(area2);
 JPanel bottom= new JPanel(new FlowLayout(FlowLayout.RIGHT , 10, 10));
 bottom.add(button1);
  ....
 bottom.add(buttonLast);
 add(bottom);

1 个答案:

答案 0 :(得分:4)

在主面板上使用BorderLayout

  1. 创建一个面板并将其添加到PAGE_START。然后设置面板的布局并将组件添加到面板。
  2. 使用JTextArea创建JScrollPane并将其添加到CENTER
  3. 使用JTextArea创建JScrollPane并将其添加到PAGE_END
  4. 阅读How to Use BorderLayout上Swing教程中的部分,了解更多信息和工作示例。

      

    修复了JTextArea(总是2行全帧宽度)

    当您创建JTextArea时,您使用:

    JTextArea textArea = new JTextArea(2, 20);
    

    指定固定行数。