Java Swing : Anchor images to the corners of a JFrame

标签 java swing jframe

我正在使用 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/

相关文章:

java - Java JLS 是否指定提升原始包装器类型?

java - 安卓错误 : The RealmClass annotation does not support nested classes

java - 可由用户自定义的 Swing 菜单

java - 选定的组合框值两次添加到数组列表中

java - 在 Jpanel 的多个实例上共享类的实例

java - 扩展 GUI 表单时,JButton 无法启用

java - 这段代码应该创建一个 JFrame 并在其上绘制......但它没有

java - 使用 native API : JVM_LoadClass0, JVM_AllocateNewArray 和 JVM_AllocateNewObject 的替代解决方案

java - 在单独的类中重新绘制/更新 JPanel 时出现问题

java - 为什么我的 JFrame 没有像我告诉的那样重新绘制?