Java Swing中两种设置背景图(容器图片)

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

在java swing中需要为容器添加图片,或者背景图片。

提供两种简单的解决方案,一种利用JPanel,另一种利用JLabel

1.JPanel(源代码)

[java]  view plain copy
  1. package oo;  
  2.   
  3. import java.awt.Graphics;  
  4. import java.awt.Image;  
  5. import java.io.File;  
  6.   
  7. import javax.swing.ImageIcon;  
  8. import javax.swing.JFrame;  
  9. import javax.swing.JPanel;  
  10.   
  11. public class Drawing {  
  12.   
  13.     JFrame jframe = new JFrame();  
  14.     public static JPanel GImage = null;  
  15.   
  16.     public Drawing() {  
  17.         initFrame();  
  18.     }  
  19.   
  20.     // 初始化窗口  
  21.     public void initFrame() {  
  22.         // 利用JPanel添加背景图片  
  23.   
  24.         GImage = new JPanel() {  
  25.   
  26.             protected void paintComponent(Graphics g) {  
  27.                 ImageIcon icon = new ImageIcon("image\\benbenla.jpg");  
  28.                 Image img = icon.getImage();  
  29.                 g.drawImage(img, 00, icon.getIconWidth(),  
  30.                         icon.getIconHeight(), icon.getImageObserver());  
  31.                 jframe.setSize(icon.getIconWidth(), icon.getIconHeight());  
  32.   
  33.             }  
  34.   
  35.         };  
  36.         jframe.setTitle("测试背景图片");  
  37.         jframe.add(GImage);  
  38.         jframe.pack();  
  39.         jframe.setVisible(true);  
  40.         jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  41.   
  42.     }  
  43.   
  44.     public static void main(String[] args) {  
  45.         new Drawing();  
  46.   
  47.     }  
  48.   
  49. }  


2.JLabel源代码

[java]  view plain copy
  1. package swing.draw;  
  2.   
  3. import java.awt.Image;  
  4.   
  5. import javax.swing.ImageIcon;  
  6. import javax.swing.JFrame;  
  7. import javax.swing.JLabel;  
  8.   
  9. /** 利用JLabel来构建图片 */  
  10.   
  11. public class Drawing2 {  
  12.     JLabel jlpic = new JLabel();  
  13.     JFrame jframe = new JFrame();  
  14.   
  15.     public Drawing2() {  
  16.   
  17.         init1Frame();  
  18.     }  
  19.   
  20.     public void init1Frame() {  
  21.         ImageIcon icon = new ImageIcon("image\\benbenla.jpg");  
  22.         icon.setImage(icon.getImage().getScaledInstance(icon.getIconWidth(),  
  23.                 icon.getIconHeight(), Image.SCALE_DEFAULT));  
  24.         System.out.println(icon.getIconHeight() + "" + icon.getIconWidth());  
  25.         jlpic.setBounds(001366768);  
  26.         jlpic.setHorizontalAlignment(0);  
  27.         jlpic.setIcon(icon);  
  28.         jframe.setSize(1366768);  
  29.         jframe.add(jlpic);  
  30.         jframe.pack();  
  31.         jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  32.         jframe.setVisible(true);  
  33.   
  34.     }  
  35.   
  36.     public static void main(String args[]) {  
  37.   
  38.         new Drawing2();  
  39.     }  
  40. }  

添加控件:

 jlpic.setIcon(icon);  
        Container c = new Container();
        JLabel user = new JLabel("用户:");
        JLabel password = new JLabel("密码:");
        JTextField txf_userName = new JTextField();
        JPasswordField pwd_password = new JPasswordField()
        {
        	public void paste(){
        		 UIManager.getLookAndFeel().provideErrorFeedback(this);
        	}
        };
        user.setBounds(200,25,50,25);
        password.setBounds(200,52,50,25);
        txf_userName.setBounds(300,25,150,25);
        pwd_password.setBounds(300,52,150,25);
        c.add(user);
        c.add(txf_userName);
        c.add(password);
        c.add(pwd_password);
        c.add(jlpic);
        jframe.setSize(1366, 768);  
       // jframe.add();  
        jframe.add(c);


相关文章
|
25天前
|
Java
【java】poi 设置允许西文在单词中间换行
【java】poi 设置允许西文在单词中间换行
|
29天前
|
Java
java环境变量设置
在Java环境配置中,首先找到Java安装目录(如`C:\Program Files\Java\jdk1.8.0_291`),然后将JDK的bin目录添加到系统环境变量Path中。这涉及右键点击“计算机”->“属性”->“高级系统设置”->“环境变量”->编辑“Path”->“新建”并输入`C:\Program Files\Java\jdk1.8.0_291\bin`。保存后,重启命令行,输入`java -version`检查设置是否成功。
22 4
|
1月前
|
存储 Java 关系型数据库
农产品管理系统【GUI/Swing+MySQL】(Java课设)
农产品管理系统【GUI/Swing+MySQL】(Java课设)
16 1
|
1月前
|
存储 Java 关系型数据库
个人成绩信息管理系统【GUI/Swing+MySQL】(Java课设)
个人成绩信息管理系统【GUI/Swing+MySQL】(Java课设)
20 0
|
9天前
|
安全 Java 测试技术
Java并发容器总结(下)
Java并发容器总结(下)
9 0
|
9天前
|
存储 安全 Java
Java并发容器总结(上)
Java并发容器总结(上)
7 0
|
10天前
|
Java 关系型数据库 MySQL
基于swing的java物业管理系统
基于swing的java物业管理系统
19 5
|
11天前
|
存储 算法 Java
盘点Java集合(容器)概览,Collection和Map在开发中谁用的最多?
盘点Java集合(容器)概览,Collection和Map在开发中谁用的最多?
27 0
|
13天前
|
Java Linux 开发工具
手把手教你Linux查找Java的安装目录并设置环境变量以及Linux下执行javac未找到命令的保姆级教学
手把手教你Linux查找Java的安装目录并设置环境变量以及Linux下执行javac未找到命令的保姆级教学
9 0
|
17天前
|
Java Python
设置代理ip——java
设置代理ip——java