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


目录
打赏
0
0
0
0
66
分享
相关文章
Java容器及其常用方法汇总
Java Collections框架提供了丰富的接口和实现类,用于管理和操作集合数据。
Java容器及其常用方法汇总
|
2月前
|
java设置栈内存大小
在Java应用中合理设置栈内存大小是确保程序稳定性和性能的重要措施。通过JVM参数 `-Xss`,可以灵活调整栈内存大小,以适应不同的应用场景。本文介绍了设置栈内存大小的方法、应用场景和注意事项,希望能帮助开发者更好地管理Java应用的内存资源。
85 4
如何在Java爬虫中设置动态延迟以避免API限制
如何在Java爬虫中设置动态延迟以避免API限制
如何配置 Java 环境变量:设置 JAVA_HOME 和 PATH
本文详细介绍如何在Windows和Linux/macOS系统上配置Java环境变量。
3328 12
8G的容器Java堆才4G怎么就OOM了?
本文记录最近一例Java应用OOM问题的排查过程,希望可以给遇到类似问题的同学提供参考。
|
4月前
|
漂亮不是梦!Java Swing美化攻略
Java Swing 是一个为 Java 设计的 GUI 工具包,提供文本框、按钮等组件。尽管其外观可定制,通过 Look and Feel(LAF)机制改变应用风格,如 Darcula 和 FlatLaf,但现已淡出主流视野,主要应用于 IDE 领域,如 IntelliJ IDEA 和 Eclipse。相比其他 GUI 框架,Swing 的发展前景有限。
121 1
Java多线程编程中的并发容器:深入解析与实战应用####
在本文中,我们将探讨Java多线程编程中的一个核心话题——并发容器。不同于传统单一线程环境下的数据结构,并发容器专为多线程场景设计,确保数据访问的线程安全性和高效性。我们将从基础概念出发,逐步深入到`java.util.concurrent`包下的核心并发容器实现,如`ConcurrentHashMap`、`CopyOnWriteArrayList`以及`BlockingQueue`等,通过实例代码演示其使用方法,并分析它们背后的设计原理与适用场景。无论你是Java并发编程的初学者还是希望深化理解的开发者,本文都将为你提供有价值的见解与实践指导。 --- ####
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
182 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
如何设置 Java 的环境变量
设置Java环境变量是使用Java开发工具和运行Java程序的前提。主要步骤包括:安装JDK,配置系统环境变量中的JAVA_HOME、PATH和CLASSPATH,确保命令行可直接调用javac和java命令。
224 6
java程序设置开机自启
java程序设置开机自启
366 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等