java Swing中添加背景图片(总结)

您所在的位置:网站首页 插画怎么添加背景 java Swing中添加背景图片(总结)

java Swing中添加背景图片(总结)

2024-07-13 17:09| 来源: 网络整理| 查看: 265

在java GUI图形化设计中,Swing组件添加背景图片主要有两中情况:1,在Jpanl面板中添加背景图片,2,在jLable中添加背景图片

  首先介绍一种最巧妙的背景图片添加方法,

1.利用JLabel加载图片 利用JLabel自带的setIcon(Icon icon)加载icon,并设置JLabel对象的位置和大小使其完全覆盖窗体。这是一个很取巧的办法,代码非常简单,如下所示。

JLabel lbBg = new JLabel(imageIcon); lbBg.setBounds(0, 0, frameSize.width, frameSize.height); this.getContentPane().add(lbBg);

然而这种方法有几个要注意的点: (1)不能使用布局管理器 此时你需要将布局管理器设置为null,然后精确控制所有控件的大小和位置。否则,JLabel无法完整覆盖窗体。 (2)应当先添加背景JLabel,再添加其它控件。否则其它控件将被JLabel所遮挡(为什么不是后添加的遮挡先添加的?)。 (3)由于控件及窗体的尺寸需要手动控制,因此无法对背景图片进行缩放。

但是如果对JFrame全局加载图片的话,背景图会浮动在控件上方,代码部分案列:

ImageIcon icon = new ImageIcon("src/计算器/1.jpg");         icon.setImage(icon.getImage().getScaledInstance(icon.getIconWidth(),         icon.getIconHeight(), Image.SCALE_DEFAULT));         JLabel jlpic = new JLabel();         jlpic.setBounds(0, 0, 1366, 768);         jlpic.setHorizontalAlignment(0);         jlpic.setIcon(icon);         this.add(jlpic);         this.pack();

2.重载JPanel的paintComponent(Graphics g)方法 通过重载该方法,在JPanel的绘制阶段将指定图片绘制上去即可。由于背景是绘制出来的,因此不会对布局有任何影响。 示例代码如下:

@Override public void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(image, 0, 0, d.width, d.height, this); MainFrame.instance().repaint(); }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3