以下代码可用于在 JPanel 上可视化分子,但当我在运行时更改 JPanel 的大小时它不会重新缩放。化学开发套件用于生成渲染图像。分子被传递到 MoleculeViewer 进行可视化。我做错了什么??
最佳答案
What am I doing wrong??
为什么需要
setSize(new java.awt.Dimension(400, 400));
将您的
image = new BufferedImage(this.WIDTH, this.HEIGHT, BufferedImage.TYPE_INT_RGB);
设置为 Icon到JLabel ,然后您可以删除有关paintComponent()
的任何内容
那么您可以返回
JLabel
而不是 JPanel ,但JLabel
默认情况下是半透明的,或者使用正确的 LayoutManager 将JLabel
放入JPanel
在这种情况下BorderLayout.CENTER你必须检查你是如何添加
MoleculeViewer
的,使用了什么LayoutManager
???,因为只使用了LayoutManager
> 这项工作能否正确调整(或不调整)容器子级的大小 Top-Level Container ,MoleculeViewer
必须为其父级重新调整PreferredSize
关于Java JPanel 绘制缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7622402/