Background image JFrame with content(带有内容的背景图像 JFrame)
问题描述
我有一个带有 BorderLayout 的 JFrame,四面都有面板(北、东……).面板中主要有标签和按钮.
I have a JFrame with BorderLayout, there are panels on all sides (North, East ,...). In the panels there are labels and buttons mostly.
现在我希望框架具有背景图像,一些研究告诉我,我必须更改框架的内容窗格.
Now I want the frame to have a background image, some research told me that i had to change the content pane of my frame.
但是,当我尝试这样做时,内容会被置于后台并且不可见.另外,如果调整框架大小,我不知道如何调整图像大小.
When I try this however, the content gets put in the background and isn't visible. Also, I don't know how to resize the image if the frame is resized.
是否有一个简单的解决方法,或者我是否需要重新编写大部分代码?
Is there an easy fix for this or will I have to rework most of my code?
推荐答案
把带有背景图片的
JPanel(或JComponent)放到BorderLayout.CENTER,然后这个JPanel填充整个JFrame区域,其余的JComponents放到这个JPanel
put
JPanel(orJComponent) with background Image to theBorderLayout.CENTER, then thisJPanelfills wholeJFramearea, rest of youtJComponentsput to thisJPanel
四面八方(北、东……)都有 Jpanel.在Jpanels中主要有Jlabels和Jbuttons.
这些 JComponents 涵盖了 JFrame 的所有可用 Rectangle,然后 Background Image(从我的第一点开始)永远不会将被显示,因为这些 JComponents 是 on_top JFrame 并且也可以隐藏这个 Image,
these JComponents covered all available Rectangle for JFrame, then Background Image (from my 1st point) never will be dispalyed, because these JComponents are on_top JFrame and could be hide this Image as well,
添加 JPanel 和背景图像(从我的第一点开始),然后用 JPanel#setOpaque(false) 放另一个 ,那么这个JPanel(s);JPanel会是透明的,注意JPanel已经默认实现了FlowLayout
add JPanel with Background Image (from my 1st point), then put there another JPanel(s) with JPanel#setOpaque(false);, then this JPanel will be transparent, notice JPanel has implemented by default FlowLayout
这篇关于带有内容的背景图像 JFrame的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:带有内容的背景图像 JFrame
基础教程推荐
- Java Swing计时器未清除 2022-01-01
- 大摇大摆的枚举 2022-01-01
- 如何在 JFrame 中覆盖 windowsClosing 事件 2022-01-01
- Java 实例变量在两个语句中声明和初始化 2022-01-01
- 验证是否调用了所有 getter 方法 2022-01-01
- 如何在 Spring @Value 注解中正确指定默认值? 2022-01-01
- 多个组件的复杂布局 2022-01-01
- 从 python 访问 JVM 2022-01-01
- 在 Java 中创建日期的正确方法是什么? 2022-01-01
- 不推荐使用 Api 注释的描述 2022-01-01
