「java窗体背景图片」java 背景图片

博主:adminadmin 2022-11-30 09:02:11 55

今天给各位分享java窗体背景图片的知识,其中也会对java 背景图片进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java怎么给窗体或者面板设置背景图片

import javax.swing.*;

import javax.imageio.*;

import java.awt.*;

import java.io.*;

public class AddImage {

public static void main(String[] args){

new AddImageFrame();

}

}

class AddImageFrame extends JFrame{

public AddImageFrame(){

super("添加背景图片");

setBounds(200,200,500,400);

setDefaultCloseOperation(this.EXIT_ON_CLOSE);

setVisible(true);

AddImagePanel aip= new AddImagePanel();

add(aip);

}

}

class AddImagePanel extends JPanel{

private Image backgroundimage=null;

public void paintComponent(Graphics g){

super.paintComponent(g);

try{

backgroundimage=ImageIO.read(new File("E:/picture/http_imgload.jpg")).getScaledInstance(getWidth(),getHeight(),Image.SCALE_FAST);

}catch(IOException e){

e.printStackTrace();

}

g.drawImage(backgroundimage,0,0,null);

image.flush();

}

}

这是设置背景图片的简单代码 你要的主要是 backgroundimage=ImageIO.read(new File("E:/picture/http_imgload.jpg")).getScaledInstance(getWidth(),getHeight(),Image.SCALE_FAST);

javax.image包里面有一个类 ImageIO有一个方法read(File string) 读取一个图片文件返回image对象,File会抛出异常,awt包里面的Image有个方法 getScaledstance(width,height,hints) 是缩放图片到多大,intnts是缩放的算法,取Image字段常量,有很多钟算法,你可以取一种,这个程序里图片的大小取的是容纳它的panel面板的大小,会随着面板的变化充满整个面板,这个变化过程要调用面板的 paintComponent()方法来监视,Graphics 中的drawImage(x,y,observer)方法来实现,observer是安全管理器,可以为null,最后绘画完后刷新就可以了,希望对你有帮助,俺也是初学者,交流为上 ,不过我个人还是认为下面的方法比较好

public void setBak() { //设置窗口背景

((JPanel) this.getContentPane()).setOpaque(false);

ImageIcon img = new ImageIcon(getClass().getResource("picture/http_imgload.jpg"));

JLabel background = new JLabel(img);

this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));

background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());

}构造器调用这个方法图片不会缩放,上面的例子 不用缩放的方法也可以做到,就看怎么看了

java 窗体设置背景图片问题?(附上登陆界面代码,我想加个背景图片,求大神帮忙改改)

lz  你好

代码修改如下:

(有注释)

import java.awt.*;

import javax.swing.*;

import java.io.*;

import java.awt.event.*;

//自定义一个面板类

class MyPanel extends JPanel{

public void paintComponent(Graphics g){

super.paintComponent(g);

//绘制一张背景图片  view.jpg是图片的路径  lz自己设定为自己想要添加的图片

Image image = new ImageIcon("view.jpg").getImage();

g.drawImage(image, 0, 0, this);

}

}

public class denglu extends JFrame {

//设置一个含有背景图片的面板

private MyPanel panel;

private JLabel lab_zhanghao = new JLabel("账号:");

private JTextField jta_text = new JTextField();

Font lab = new Font("楷体",1,30);

private JLabel lat_password = new JLabel("密码:");

Font lat  = new Font("楷体",1,30);

private JTextField jtb_text = new JTextField();

private JButton btn_register = new JButton("注册");

private JButton btn_land = new JButton("登陆");

Font btn = new Font("黑体",2,30);

public static  int pd = 0;

public static String ak1, ak2;

private Container contentPane = this.getContentPane();

public denglu () {

this.setSize(400,300);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setLocationRelativeTo(null);

this.setTitle("登陆");

this.setResizable(false);

btn_register.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

pd = 1;

ak1 = jta_text .getText();

ak2 = jtb_text .getText();

String fileName = "E:\\users.dat";

try {

Writer writer = new FileWriter(fileName);

} catch (IOException e1) {

e1.printStackTrace();

}

jta_text.setText("");

jtb_text.setText("");

JOptionPane.showMessageDialog(null,"注册成功! 您的用户名是"+ak1+"密码是"+ ak2);

}

});

btn_land.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if(pd==1) {

if(ak1.equals(jta_text.getText())   ak2.equals(jtb_text.getText())) {

JOptionPane.showMessageDialog(null, "登录成功!");

} else {

JOptionPane.showMessageDialog(null,"登陆失败!检查账号密码是否正确",null,

                              JOptionPane.ERROR_MESSAGE, null);

jta_text .setText("");

jtb_text .setText("");

}

}

}

});

init();

panel = new MyPanel();

//将所有的组件添加到panel面板中

panel.add(lab_zhanghao);

panel.add(lat_password);

panel.add(jta_text);

panel.add(jtb_text);

panel.add(btn_register);

panel.add(btn_land);

panel.setLayout(null);

getContentPane().add(panel);

}

private void init() {

lab_zhanghao.setSize(200,100);

lab_zhanghao. setLocation(50,20);

lab_zhanghao.setFont(lab);

lat_password.setSize(200,100);

lat_password.setLocation(50,80);

lat_password.setFont(lat);

jta_text.setSize(190,30);

jta_text.setLocation(160,55);

jtb_text.setSize(190,30);

jtb_text.setLocation(160,115);

btn_register.setSize(120, 40);

btn_register.setLocation(60, 180);

btn_land.setSize(120, 40);

btn_land.setLocation(230, 180);

btn_register.setFont(btn);

btn_land.setFont(btn);

}

public static void main(String[] args)

throws ClassNotFoundException,

InstantiationException, IllegalAccessException,

UnsupportedLookAndFeelException {

UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");

new denglu().setVisible(true);

}

}

我这儿的运行效果:

希望能帮助你哈

如何在java的窗口中添加背景图片

可以新建个面板,在面板里放入带图片的JLabel,填满面板即可。

JPanel jp = new JPanel(); //新建面板

jp.setLayout(new FlowLayout()); //设置面板布局

ImageIcon ii=new ImageIcon(getClass().getResource("/Picture/i.jpg"));

JLabel uppicture=new JLabel(ii); //往面板里加入JLabel

this.setVisible(true);

Java窗体如何设置背景图片?急求!!

可以新建个面板,在面板里放入带图片的JLabel,填满面板即可。

JPanel jp = new JPanel(); //新建面板

jp.setLayout(new FlowLayout()); //设置面板布局

ImageIcon ii=new ImageIcon(getClass().getResource("/Picture/i.jpg"));

JLabel uppicture=new JLabel(ii); //往面板里加入JLabel

this.setVisible(true);

Java swing 窗体如何设置背景图片?

background = new ImageIcon("images/backImage.png");

backImage = new JLabel(background);

backImage.setBounds(0, 0, background.getIconWidth(),

background.getIconHeight());

backPanel = (JPanel) this.getContentPane();

backPanel.setOpaque(false);

this.getLayeredPane().setLayout(null);

this.getLayeredPane().add(backImage, new Integer(Integer.MIN_VALUE));

backPanel.setLayout(new BorderLayout());

这个是我程序里面复制出来的,效果就下面图一样。

java 窗体中添加背景图片的方法

import java.awt.*;

import java.net.URL;

import javax.swing.*;

import java.awt.Dimension;

import java.awt.Container;

import java.awt.GridLayout;

import javax.swing.ImageIcon;

import java.awt.event.*;

public class Example1 extends JFrame{

public static void main(String[] args){

JFrame jf=new JFrame("系统登录");

JPanel jpanel = new JPanel();

jf.setContentPane(jpanel);

//设置窗口在屏幕中居中显示

double width = Toolkit.getDefaultToolkit().getScreenSize().getWidth();

double height = Toolkit.getDefaultToolkit().getScreenSize().getHeight();

int x=(int)(width-300)/2;

int y=(int)(height-180)/2;

jf.setBounds(x,y,300,180);

//添加标签组件

GridLayout gird = new GridLayout(3,0);

JPanel jpanel1=new JPanel();

JPanel jpanel2=new JPanel();

JPanel jpanel3=new JPanel();

jpanel.setLayout(gird);

jpanel.add(jpanel1);

jpanel.add(jpanel2);

jpanel.add(jpanel3);

ImageIcon img = new ImageIcon("111.png");

JLabel imgLabel = new JLabel(img);//将背景图放在标签里。

jf.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));

imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight());

JLabel name=new JLabel("姓 名:");

JTextField nametext=new JTextField(10);

JLabel pwd=new JLabel("密 码:");

JPasswordField pwd1=new JPasswordField(10);

JButton login=new JButton("登录");

JButton exit=new JButton("退出");

jpanel1.add(name);

jpanel1.add(nametext);

jpanel2.add(pwd);

jpanel2.add(pwd1);

jpanel3.add(login);

jpanel3.add(exit);

jf.getLayeredPane().setLayout(null);

jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

jpanel.setOpaque(false);

jpanel1.setOpaque(false);

jpanel2.setOpaque(false);

jpanel3.setOpaque(false);

jf.setVisible(true);

}

}

那个图片 "111.png"你放到你创建的项目的文件夹里就行 测试成功

关于java窗体背景图片和java 背景图片的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。