gpt4 book ai didi

java - 设置 JPanel 的大小

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:27:10 25 4
gpt4 key购买 nike

我有一个扩展 JPanel 的类称为行。我有一堆行添加到 JLabel ,代码如下:

JFrame f=new JFrame();

JPanel rowPanel = new JPanel();
//southReviewPanel.setPreferredSize(new Dimension(400,130));
rowPanel.setLayout(new BoxLayout(rowPanel, BoxLayout.Y_AXIS));
rowPanel.add(test1);
rowPanel.add(test1);
rowPanel.add(test2);
rowPanel.add(test3);
rowPanel.add(test4);
rowPanel.setPreferredSize(new Dimension(600, 400));
rowPanel.setMaximumSize(rowPanel.getPreferredSize());
rowPanel.setMinimumSize(rowPanel.getPreferredSize());

f.setSize(new Dimension(300,600));

JScrollPane sp = new JScrollPane(rowPanel);
sp.setSize(new Dimension(300,600));
f.add(sp);

f.setVisible(true);

其中 test1...etc 是一行。但是,当我调整窗口大小时,Row 的布局不知何故变得困惑(它也会调整大小)...我怎样才能防止这种情况发生?

最佳答案

Using Layout Managers 上阅读 Swing 教程.每个布局管理器都有自己的关于调整容器大小时会发生什么的规则。实验和玩耍。

在 BoxLayout 的情况下,它应该遵守添加到面板的组件的最大尺寸,因此您可以:

childPanel.setMaximumSize( childPanel.getPreferredSize() );

如果您需要更多帮助,请发布您的 SSCCE证明问题。

关于java - 设置 JPanel 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4222025/

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