Java netbeans autoresize textarea

时间:2011-08-29 15:41:53

标签: java netbeans jtextarea

我使用netbeans 7.0.1构建一个简单的JFrame应用程序

我正在使用gui builder

添加textarea和几个按钮

按钮位于同一垂直水平,右手按钮在调整窗口大小时向右移动 - 这很好,但我希望文本区域也这样做 - 即调整大小以适应窗口的相关宽度。

对于我的生活,我看不出这是怎么做的 - 我环顾四周,我可以找到手动编码应用程序的代码,但不能找到netbeans gui builder

2 个答案:

答案 0 :(得分:2)

更新:啊对不起,没有看完整个问题,你真的想用netbeans来做.. :)好吧,好吧,现在你有这个帖子怎么做手工制作的呢! :)

我不会使用GUI构建器来完成此任务。使用FlowLayoutBorderLayout创建此类布局很容易:

screenshot

截图是由以下代码生成的:

public static void main(String... args) throws Exception {
    JFrame frame = new JFrame("Test");

    JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
    buttonPanel.add(new JButton("Hello"));
    buttonPanel.add(new JButton("World!"));

    frame.add(buttonPanel, BorderLayout.NORTH);
    frame.add(new JTextArea("Hello World!"), BorderLayout.CENTER);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(600, 400);
    frame.setVisible(true);
}

答案 1 :(得分:1)

所有关于你正在使用的布局。我个人会使用GridBagLayout,可能是因为我习惯了它。基本上,您应该按照以下步骤操作:

  1. 将拥有textarea的容器的布局更改为GridBagLayout。您可以通过右键单击容器(无论是JFrame,面板还是其他)来执行此操作,然后您将看到“布局”菜单。它包含GridBagLayout选项。
  2. 在组件检查器中,选择拥有JTextArea的JScrollPane。查看属性选项卡中的“布局”部分。它包含GridBagConstraints,它命令JScrollPane的布局行为,从而命令JTextArea。
  3. 使用布局属性:)。基本上你应该将X和Y权重设置为1,将填充设置为“Both”。这将告诉JScrollPane填充Frame上的任何垂直和水平空间,X和Y权重将尽可能拉出任何其他组件。
  4. 您可以在此处详细了解GridBagLayout:http://netbeans.org/kb/docs/java/gbcustomizer-basic.html

    学习GridBagLayout可能需要几个小时,习惯它可能需要几天时间,但值得学习。我的2美分。