gpt4 book ai didi

java - 如何在 JScrollPane 中获取 JScrollPanes 以跟随父级的大小调整

转载 作者:行者123 更新时间:2023-11-30 04:52:59 28 4
gpt4 key购买 nike

所以我有一堆JTable。每个JTable 都位于JScrollPane 内。然后,我将每个 JScrollPane 添加到 JPanel 中。然后,我将此 JPanel 添加到 JScrollPane,然后使用 BorderLayout 将其添加到另一个 JPanel。较大的 JScrollPane 与其父级一起正确调整大小,但每个较小的 JScrollPane 具有恒定的高度,当窗口较小时,该高度比窗口大。如何让每个子 JScrollPane 随窗口/其父窗口的高度调整大小?

我尝试使用 FlowLayoutBorderLayout 添加更多中间 JPanel,但似乎没有效果。

这是一些相关代码:

public class MyPanel extends JPanel
{
public MyPanel()
{
super(new BorderLayout());
JPanel panel = new JPanel();
for (int i = 0; i < 5; i++)
{
// View extends JTable
panel.add(new JScrollPane(new View(new Model())));
}
add(new JScrollPane(panel));
}
}

我真的只是想在一个带有水平滚动条的较大面板中获得一堆带有水平滚动条的表格。我希望当窗口大小发生变化时,所有这些内容都能适当调整大小。

更多代码:

final MyPanel panel = new MyPanel();
final JTabbedPane tabView = new JTabbedPane();
tabView.add(...);
tabView.add("foo", panel);

final JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, ..., tabView);
this.add(splitPane); // this extends JFrame

最佳答案

您可以使用 BoxLayout 。如果您想要相反的结果:修复某些表,您可以用约束 Box.createRigidArea(new Dimension(100, 100)) 将其包装起来.

关于java - 如何在 JScrollPane 中获取 JScrollPanes 以跟随父级的大小调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9457900/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com