gpt4 book ai didi

java - 如何保持 Swing 组件更新

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

我的一个类返回一个 JPanel,它由其他类添加到 JFrame 上。JPanel 包含一个 JTree 和一些按钮。在某些事件中,面板会再次创建并返回到 JFrame。

我的问题是我必须再次将 JPanel 添加到 JFrame 的容器中,然后调整框架的大小以使更改可见。我不知道如何在不调整大小的情况下更新框架。我尝试删除旧对象并添加更新的对象,但仍然不起作用。

处理这个问题的最佳方法是什么?理想情况下,我会引用 JPanel,并且当 JPanel 更改时,框架也会更新。

最佳答案

The whole model is changing not just its data. I will probably change this in the future but for now when data change a new JTree is created

那么你的代码应该是这样的:

JTree tree = new JTree( theNewModel );
scrollPane.setViewportView( tree );

也就是说,您需要将新的 JTree 添加到 GUI,不能只更改对树变量的引用。

或者更简单,您不需要创建新的 JTree,只需使用以下方法替换现有树中的模型:

tree.setModel( theNewModel );

如果这仍然没有帮助,那么您需要发布您的 SSCCE这说明了问题,因为您的问题仍然不清楚。

关于java - 如何保持 Swing 组件更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8646553/

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