否则,JLabel无法完整覆盖窗体。 (2)应当先添加背景JLabel,再添加其它控件。否则其它控件将被JLabel所遮挡(为什么不是后添加的遮挡先添加的?)。 (3)由于控件及窗体的尺寸需要手动控制,因此无法对背景图片进行缩放。 2. 重载JPanel的paintComponent(Graphics g)方法 通过重载该方法,在JPanel的绘制阶段将指定图片绘制上...
10 */11publicclassBackgroundPanelextendsJPanel{1213/** 14 * 15 */16privatestaticfinal long serialVersionUID=-6352788025440244338L;1718privateImage image=null;1920publicBackgroundPanel(Image image){21this.image=image;22}2324// 固定背景图片,允许这个JPanel可以在图片上添加其他组件25protectedvoidpaintCompon...
Swing控件(JPanel,Container等)设置背景图片 Swing控件有直接设置背景颜色的方法,但没有直接设置背景图片的方法。这里不解的是为什么Swing默认不提供这个方法呢?既然它不提供我们就自己写一个吧,也不难,你要你知道Swing容器的图片都是用protected void paintComponent(Graphics g) 画上去的就可以了。 我们写一个类提供...
在Java Swing中,可以通过以下步骤为窗体设置背景图片: 创建一个继承自JPanel的自定义类,用于显示背景图片。例如,可以创建一个名为BackgroundPanel的类。 import java.awt.Graphics; import java.awt.Image; import javax.swing.ImageIcon; import javax.swing.JPanel; public class BackgroundPanel extends JPanel { ...
2.重载JPanel的paintComponent(Graphics g)方法 通过重载该方法,在JPanel的绘制阶段将指定图片绘制上去即可。由于背景是绘制出来的,因此不会对布局有任何影响。 示例代码如下: @OverridepublicvoidpaintComponent(Graphics g) {super.paintComponent(g); g.drawImage(image,0, 0, d.width, d.height,this); ...
在java swing中需要为容器添加图片,或者背景图片。 提供两种简单的解决方案,一种利用JPanel,另一种利用JLabel 1.JPanel(源代码) [java] 1. package oo; 2. 3. import java.awt.Graphics; 4. import java.awt.Image; 5. import java.io.File; ...
* 可设置背景图片的JPanel,提供了三种显示背景图片的方式:居中、平铺和拉伸。 * 未设置背景图片的情况下,同JPanel。 * * @author 003 */ public class JImagePane extends JPanel { private static final long serialVersionUID = -8251916094895167058L; ...
前段时间在用JAVA SWING做个客户端的时候,有要在一块主面板上添加背景图片的需求,于是自己在网上找了些资料研究一下,有些网友说用JLabel来做,通过设置它的icon属性来实现,但个人感觉这种做法很HACK,呵呵,而且这种方法容易带来在上面的内容被遮住等等的问题,所以个人更喜欢用一个继承JPanel的类来实现的方法,其实我...
2 设置好Image变量供g.drawImage(icon.getImage(), 0, 0, null);使用 url = getClass().getClassLoader().getResource("xxx.jpg");//xxx.jpg在class目录下 ImageIcon icon = new ImageIcon(url); Image img = icon.getImage() 3 调用JPanel的repaint();方法。该方法调用后会调用paintComponent方法。