Java中向JFrame中插入图片的代码

42 篇文章 2 订阅

文件夹“图像”是与“src”同级的目录文件 

package com.main;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Example1 {
	public static void main(String [] args) {
		//为事件调度线程安排一个任务
		//创建并显示这个程序的图形用户界面
		Example1 main= new Example1();

		Runnable runnable = new Runnable() {
			public void run() {
				main.createAndShowGUI();
			}
		};
		
		
		javax.swing.SwingUtilities.invokeLater (runnable);
		
	}
	
	//创键一个窗体,并显示
	private  void createAndShowGUI() {
		//创键并设置窗体
		JFrame frame = new JFrame("Hello Swing");
		
		//为窗体设置一些参数:
		//显示窗体
		frame.setVisible(true);
		//调整窗体的大小
		frame.setSize(650, 650);
		//设置窗体的位置
		frame.setLocation(700, 300);
		
		//添加图像
		frame.add(new JLabel(new ImageIcon("图像/vOMcQobldgtcqum.jpg")));
		
		//窗体关闭时退出程序
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

效果如下:

 

将图片设置成背景:

package com.main;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.*;
import java.awt.*;

public class Example1 {
	public static void main (String[] args) {
            JFrame frame=new JFrame("背景图设置");
		    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		    ImageIcon img= new ImageIcon("图像/vOMcQobldgtcqum.jpg");//这是背景图片  
		JLabel imgLabel =new JLabel(img);
		//将背景图放在标签里。  

		frame.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));//注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。  
		imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight());//设置背景标签的位置  
		Container cp=frame.getContentPane();
		cp.setLayout(new BorderLayout());
		JButton but=new JButton("anniu");//创建按钮  
		cp.add(but,"North");//将按钮添加入窗口的内容面板  

		((JPanel)cp).setOpaque(false); //注意这里,将内容面板设为透明。这样LayeredPane面板中的背景才能显示出来。  

		frame.setSize(500,300);
	    //frame.setVisible(true); 
	   frame.setVisible(true);
	}

}

 

  • 13
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java,可以使用JLabel和ImageIcon组合来实现在JFrame面板插入背景图片并显示组件的效果。具体步骤如下: 1. 创建一个JLabel对象,并将其设置为透明。 2. 创建一个ImageIcon对象,将背景图片加载到该对象。 3. 将ImageIcon对象设置为JLabel的图标。 4. 将JLabel添加JFrame面板,并将其设置为JFrame面板的布局管理器的背景。 5. 向JLabel添加其他组件,如按钮、文本框等。 下面是一个简单的示例代码: ``` import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Image; import java.awt.Toolkit; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class BackgroundImageExample extends JFrame { private static final long serialVersionUID = 1L; public BackgroundImageExample() { setTitle("Background Image Example"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(500, 500); // 创建一个JLabel对象,并将其设置为透明 JLabel background = new JLabel(); background.setOpaque(false); // 创建一个ImageIcon对象,将背景图片加载到该对象 ImageIcon backgroundImage = new ImageIcon("background.jpg"); Image image = backgroundImage.getImage().getScaledInstance(getWidth(), getHeight(), Image.SCALE_SMOOTH); backgroundImage = new ImageIcon(image); // 将ImageIcon对象设置为JLabel的图标 background.setIcon(backgroundImage); // 创建一个JPanel对象,并将其设置为JFrame的内容面板 JPanel contentPane = new JPanel(); contentPane.setLayout(new BorderLayout()); setContentPane(contentPane); // 将JLabel添加JFrame面板,并将其设置为JFrame面板的布局管理器的背景 contentPane.add(background, BorderLayout.CENTER); // 向JLabel添加其他组件,如按钮、文本框等 JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new FlowLayout()); JButton button1 = new JButton("Button 1"); JButton button2 = new JButton("Button 2"); buttonPanel.add(button1); buttonPanel.add(button2); background.setLayout(new BorderLayout()); background.add(buttonPanel, BorderLayout.SOUTH); // 设置JFrame显示 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); setLocation((screenSize.width - getWidth()) / 2, (screenSize.height - getHeight()) / 2); } public static void main(String[] args) { BackgroundImageExample example = new BackgroundImageExample(); example.setVisible(true); } } ``` 在上面的代码,我们创建了一个JLabel对象background,并将其设置为透明。然后创建了一个ImageIcon对象backgroundImage,将背景图片加载到该对象,并将其设置为JLabel的图标。接着将JLabel添加JFrame面板,并将其设置为JFrame面板的布局管理器的背景。最后向JLabel添加了一个按钮面板,并将其添加到JLabel的底部。 需要注意的是,这里使用了getScaledInstance方法对图片进行了缩放,以适应JFrame的大小。另外,为了使JFrame显示,我们使用了Toolkit类获取屏幕大小,并将JFrame的位置设置为居

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值