gpt4 book ai didi

java - 如何以编程方式调整 JScrollPane 本身(而不是视口(viewport))的大小?

转载 作者:行者123 更新时间:2023-12-01 04:25:29 25 4
gpt4 key购买 nike

我想以编程方式调整 JScrollPane 的大小。我不想调整 JScrollPane 的视口(viewport)大小,而是调整 JScrollPane 本身与父 JDialog 的大小。

到目前为止,我尝试设置 JScrollPane 的 PreferredSize 并重新验证它,但它不起作用。这是我的代码,用于创建 JScrollPane 并将其添加到 JDialog 中。

public ConnectionTreeTooltip(MainFrame parent) {
super(parent, "", false);
super.setUndecorated(true);
JPanel contentPane = (JPanel) super.getContentPane();
contentPane.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED, Color.blue, Color.red));
tipLabel = new JLabel();
tipLabel.setBackground(Color.WHITE);
scrollPane = new JScrollPane(tipLabel);
scrollPane.setPreferredSize(new Dimension(100, 100));
scrollPane.setBorder(BorderFactory.createEmptyBorder(3, 3, 1, 1));
// super.setLayout(new BorderLayout());
super.getContentPane().add(scrollPane);
super.pack();
}

所以我已经正确创建了 JScrollPane,并且只要 JLabel 的文本发生变化,它的视口(viewport)就会自动调整大小。

如何与父 JDialog 一起调整 JScrollPane 本身的大小?

谢谢!

最佳答案

已经解决了!

在设置 JScrollPane 的 PreferredSize 后,我只需调用 JDialog 上的 pack() 方法即可。就像这样:

scrollPane.setPreferredSize(tempLabel.getPreferredSize());
super.pack();

关于java - 如何以编程方式调整 JScrollPane 本身(而不是视口(viewport))的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18547986/

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