我正在使用 eclipse 和 Google 的 WindowBuilder Pro 插件来设计 swing 应用程序。我已经使用组布局及其组件构建了功能齐全的 JFrame。我现在尝试将图像添加到所有 JFrame 的角落。当我尝试从 WindowBuilder Pro 插件进行拖/放时,所有组件和 JFrame 本身都会移动并调整大小。
有没有办法以编程方式或拖/放方式将这些图像放置在框架的角落并将它们锚定在那里,以便当 JFrame 调整大小时图像保留在各自的角落?
我尝试过的编程代码:
BufferedImage image = ImageIO.read(getClass().getResource("image path"));
JLabel label = new JLabel(new ImageIcon(image));
label.setBounds(0,0,100,100);
add(label);
这对于左上角非常有效,但我似乎不知道如何将其他图像锚定到其他角。
提前致谢!!!
编辑: 我希望所有现有组件保留在原来的位置,并将图像嵌入到所有现有组件后面的 JFrame 的角落中。
最佳答案
不要使用空布局和 setBounds() !!!使用适当的布局管理器。
例如,JFrame 的默认布局管理器是 BorderLayout。因此,您可以创建第二个也使用 BorderLayout 的 JPanel。然后您可以将图像添加到面板的西边和东边。然后将面板添加到框架的北部。
参见How to Use Border Layout了解更多信息。实际上,请阅读有关布局管理器的整个部分。
关于Java Swing : Anchor images to the corners of a JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16243456/