java swing中两种添加背景图片的方法
在java swing中为容器添加背景图片有两种方法。 一种利用JPanel,另一种利用JLabel。
import java.awt.Image; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JPanel; /** * 直接设置JPanle的背景图片 * * @author hgg * */ public class Demo02 { JFrame jframe; public static JPanel imgPanel; public Demo02() { initFrame(); } // 初始化窗口 public void initFrame() { // 利用JPanel添加背景图片 jframe = new JFrame(); imgPanel = new JPanel() { protected void paintComponent(Graphics g) { ImageIcon icon = new ImageIcon(getClass().getResource("/pic/back/bg1.jpg")); Image img = icon.getImage(); g.drawImage(img, 0, 0, icon.getIconWidth(), icon.getIconHeight(), icon.getImageObserver()); jframe.setSize(icon.getIconWidth(), icon.getIconHeight()); } }; jframe.setTitle("测试jpanel图片"); jframe.add(imgPanel); jframe.pack(); jframe.setVisible(true); jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new Demo02(); } }
import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; /** * 利用jlabel设置pannel的背景图片 * * @author hgg * */ public class Demo03 { JLabel jlpic = new JLabel(); JPanel jPanel = new JPanel(); JFrame jframe = new JFrame(); public Demo03() { init1Frame(); } public void init1Frame() { ImageIcon icon = new ImageIcon(getClass().getResource("/pic/back/bg1.jpg")); jlpic.setIcon(icon); jPanel.add(jlpic); jframe.add(jPanel); jframe.pack(); jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jframe.setVisible(true); } public static void main(String[] args) { new Demo03(); } }
上一篇:
IDEA上Java项目控制台中文乱码