【问题标题】:JTextArea that needs to grow with parent panel需要与父面板一起增长的 JTextArea
【发布时间】:2012-01-30 01:50:57
【问题描述】:

我想让我的 JTextArea 字段在当前 JPanel 中尽可能大。该怎么做?

现在是这样的:

    JPanel statusBar = new StatusBar(project);
    JTextArea outputBox = new JTextArea(1, 50); 
    outputBox.setEditable(true);
    statusBar.add(outputBox);

【问题讨论】:

  • 使用适当的布局管理器,让它成长。有关更多信息,请参阅 Layout Managers 上的 Swing 教程。此外,您通常会将文本区域添加到滚动窗格中。

标签: java swing jtextarea layout-manager


【解决方案1】:

您需要 JPanel 上的布局管理器。如果它只是其中包含的 JTextArea 并且您需要最大化它,您可以使用简单的 GridLayout:

   statusBar.setLayout(new GridLayout(1,1));

【讨论】:

    【解决方案2】:

    JPanel 的默认布局管理器是FlowLayout,它不会让文本区域填满面板中的整个可用空间。

    使用BorderLayout 应该可以正常工作:

    statusBar.setLayout( new BorderLayout() );
    JTextArea outputBox = new JTextArea(1, 50); 
    outputBox.setEditable(true);
    statusBar.add(outputBox, BorderLayout.CENTER);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-30
      • 1970-01-01
      • 1970-01-01
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多