用于组件固定位置和可滚动窗口的Java GUI布局

用于组件固定位置和可滚动窗口的Java GUI布局,java,swing,user-interface,layout,Java,Swing,User Interface,Layout,我想制作一个程序,使组件的行为如下图所示 TextField和SearchButton具有固定位置,不移动或更改大小 TextArea也不会移动,但会根据窗口大小变大或变小 我还希望TextArea在不足以一次显示所有文本时可以“滚动” 有什么建议吗?:) 布局管理的秘诀是使用不同的布局管理器嵌套面板,以实现所需的布局 因此,从框架的默认边界布局开始 然后为按钮创建面板,并将面板添加到框架中: JPanel buttonPanel = new JPanel( new FlowLayout(.

我想制作一个程序,使组件的行为如下图所示

  • TextField和SearchButton具有固定位置,不移动或更改大小
  • TextArea也不会移动,但会根据窗口大小变大或变小
我还希望TextArea在不足以一次显示所有文本时可以“滚动”

有什么建议吗?:)


布局管理的秘诀是使用不同的布局管理器嵌套面板,以实现所需的布局

因此,从框架的默认边界布局开始

然后为按钮创建面板,并将面板添加到框架中:

JPanel buttonPanel = new JPanel( new FlowLayout(...) );
buttonPanel.add( button1 );
..
frame.add(buttonPanel, BorderLayout.PAGE_START);
JTextArea textArea = new JTextArea(10, 30);
frame.add(new JScrollPane(textArea), BorderLayout.CENTER);
接下来,将文本区域添加到框架:

JPanel buttonPanel = new JPanel( new FlowLayout(...) );
buttonPanel.add( button1 );
..
frame.add(buttonPanel, BorderLayout.PAGE_START);
JTextArea textArea = new JTextArea(10, 30);
frame.add(new JScrollPane(textArea), BorderLayout.CENTER);
现在,文本区域发生了两件事:

  • 它将调整大小以填充框架的空间
  • 需要时将显示滚动条

  • 阅读Swing教程中的部分,了解更多信息和工作示例。

    布局管理的秘诀是使用不同的布局管理器嵌套面板,以实现所需的布局

    因此,从框架的默认边界布局开始

    然后为按钮创建面板,并将面板添加到框架中:

    JPanel buttonPanel = new JPanel( new FlowLayout(...) );
    buttonPanel.add( button1 );
    ..
    frame.add(buttonPanel, BorderLayout.PAGE_START);
    
    JTextArea textArea = new JTextArea(10, 30);
    frame.add(new JScrollPane(textArea), BorderLayout.CENTER);
    
    接下来,将文本区域添加到框架:

    JPanel buttonPanel = new JPanel( new FlowLayout(...) );
    buttonPanel.add( button1 );
    ..
    frame.add(buttonPanel, BorderLayout.PAGE_START);
    
    JTextArea textArea = new JTextArea(10, 30);
    frame.add(new JScrollPane(textArea), BorderLayout.CENTER);
    
    现在,文本区域发生了两件事:

  • 它将调整大小以填充框架的空间
  • 需要时将显示滚动条

  • 有关更多信息和工作示例,请阅读Swing教程中的章节。

    非常感谢!它起作用了:)@Corei7很高兴它起了作用。不要忘记通过点击复选标记(答案旁边)来“接受”答案,这样人们就知道问题已经解决了。谢谢你!它起作用了:)@Corei7很高兴它起了作用。不要忘记通过点击复选标记(答案旁边)来“接受”答案,这样人们就知道问题已经解决了。请参阅:。