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

简介:

在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);


相关文章
|
Java
Java开发实现图片URL地址检验,如何编码?
【10月更文挑战第14天】Java开发实现图片URL地址检验,如何编码?
610 4
|
7月前
|
Java 虚拟化 容器
(Java)Java里JFrame窗体的基本操作(容器布局篇-1)
容器 容器,我的理解是可以包容其他东西的玩意。它可以是一个盒子,可以是一个虚拟化的物品,可只要能包裹住其他存在质体的东西,那么都可以称作是容器。例如:JPanel组件和JScollPane组件两者都是容器也是组件。 既然有容器,那么容器中的布局就必不可少了。不然不规矩的摆放物品,人类看不习惯,我也看不习惯 ???? 本篇内容,将说明java JFrame窗体里容器中几类布局。 说明:所有在JFrame窗体里的容器布局都会使用setLayout()方法,采用的布局参数都将放进这个方法里 绝对布局 调用窗体容器
218 1
|
Java
Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
【10月更文挑战第14天】Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
383 2
|
11月前
|
存储 缓存 安全
Java 集合容器常见面试题及详细解析
本文全面解析Java集合框架,涵盖基础概念、常见接口与类的特点及区别、底层数据结构、线程安全等内容。通过实例讲解List(如ArrayList、LinkedList)、Set(如HashSet、TreeSet)、Map(如HashMap、TreeMap)等核心组件,帮助读者深入理解集合容器的使用场景与性能优化。适合准备面试或提升开发技能的开发者阅读。
209 0
|
前端开发 JavaScript Java
Java中将图片转换为base64格式的技巧
这样,你就可以在Java中将图片转换为Base64格式了。这个方法的实现非常简单,只需要使用Java的内置库,无需任何额外的库。希望这个方法对你有所帮助。
839 22
|
11月前
|
缓存 Java API
Java 集合容器实操技巧与案例详解
本教程基于Java 8+新特性和现代开发实践,深入讲解Java集合容器的实操技巧。通过具体场景演示Stream API数据处理、ConcurrentHashMap并发控制、LinkedHashMap实现LRU缓存、TreeSet自定义排序等高级特性。同时涵盖computeIfAbsent优化操作、EnumMap专用集合使用、集合统计与运算(交集、并集、差集)等内容。代码示例丰富,助力掌握高效编程方法。[点击获取完整代码](https://pan.quark.cn/s/14fcf913bae6)。
259 0
|
存储 安全 算法
Java容器及其常用方法汇总
Java Collections框架提供了丰富的接口和实现类,用于管理和操作集合数据。
342 2
Java容器及其常用方法汇总
|
存储 IDE Java
漂亮不是梦!Java Swing美化攻略
Java Swing 是一个为 Java 设计的 GUI 工具包,提供文本框、按钮等组件。尽管其外观可定制,通过 Look and Feel(LAF)机制改变应用风格,如 Darcula 和 FlatLaf,但现已淡出主流视野,主要应用于 IDE 领域,如 IntelliJ IDEA 和 Eclipse。相比其他 GUI 框架,Swing 的发展前景有限。
797 1
|
算法 Java Linux
java制作海报二:java使用Graphics2D 在图片上合成另一个照片,并将照片切割成头像,头像切割成圆形方法详解
这篇文章介绍了如何使用Java的Graphics2D类在图片上合成另一个照片,并将照片切割成圆形头像的方法。
309 1
java制作海报二:java使用Graphics2D 在图片上合成另一个照片,并将照片切割成头像,头像切割成圆形方法详解
|
存储 安全 Java
Java多线程编程中的并发容器:深入解析与实战应用####
在本文中,我们将探讨Java多线程编程中的一个核心话题——并发容器。不同于传统单一线程环境下的数据结构,并发容器专为多线程场景设计,确保数据访问的线程安全性和高效性。我们将从基础概念出发,逐步深入到`java.util.concurrent`包下的核心并发容器实现,如`ConcurrentHashMap`、`CopyOnWriteArrayList`以及`BlockingQueue`等,通过实例代码演示其使用方法,并分析它们背后的设计原理与适用场景。无论你是Java并发编程的初学者还是希望深化理解的开发者,本文都将为你提供有价值的见解与实践指导。 --- ####