gpt4 book ai didi

java - JPanel 不支持 setMinimumSize/ComponentListener

转载 作者:行者123 更新时间:2023-12-02 01:36:05 28 4
gpt4 key购买 nike

我有一个 JPanel,它不应减小到小于最小尺寸,但它没有这样做。我知道我应该使用我已经实现但仍然没有用的 ComponentListener。

有人可以以编程方式解释出了什么问题吗?

这是代码的相关部分:

public class ResearchdbView extends JFrame {
private javax.swing.JMenuBar menuBar;

private ResearchdbView() {
initComponents();
}

private void initComponents() {
mainPanel = new javax.swing.JPanel();
mainPanel.setSize(new java.awt.Dimension(880, 700));
mainPanel.setMaximumSize(null);
mainPanel.setMinimumSize(new java.awt.Dimension(880, 700));
mainPanel.setPreferredSize(new java.awt.Dimension(880, 700));
setResizable(true);
mainPanel.addComponentListener(new java.awt.event.ComponentAdapter() {
public void componentResized(ComponentEvent ce) {
mainPanel.setSize((Math.max(880, mainPanel.getWidth())), Math.max(700, mainPanel.getHeight()));
}
});

this.getContentPane().add(mainPanel, BorderLayout.CENTER);
}}
PS。我已经尝试了类似帖子中的所有解决方案才能到达这里。

最佳答案

BorderLayout 不考虑放置在 CENTER 中的组件的任何尺寸提示。

对于不同的边框,取决于您设置的尺寸。 NORTH 和 SOUTH 遵循首选高度(但忽略宽度)。 WEST 和 EAST 尊重首选宽度并忽略高度。其他尺寸提示将被忽略。

编辑:看看这个网站,它有一个很好的表格,概述了不同的布局管理器如何处理这些提示。 https://thebadprogrammer.com/swing-layout-manager-sizing/

我试图在 javadocs 中找到一个,但找不到聚合在一个空间中的此信息。

关于java - JPanel 不支持 setMinimumSize/ComponentListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55248499/

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