Red de conocimiento informático - Aprendizaje de programación - Cómo personalizar la imagen de fondo de la interfaz en Java Swing

Cómo personalizar la imagen de fondo de la interfaz en Java Swing

En Java Swing, debes agregar una imagen personalizada o una imagen de fondo al contenedor.

Se proporcionan dos soluciones simples, una usa JPanel y la otra usa JLabel. El código es el siguiente:

1. ¿Paquete JPanel (código fuente)?oo;?

importar?java. . awt.Gráficos;?

importar?java.awt.Imagen;?

importar?java.io.Archivo;?

importar?javax.swing . ImageIcon;?

importar?javax.swing.JFrame;?

¿importar?javax.swing.JPanel;?

público?

público?

público?Dibujo()?{

initFrame();?

}

//?Inicialización ventana ?

¿público?{

/?¿Usar JPanel para agregar una imagen de fondo?

¿GImage?{

¿protegido?void?paintComponent(Graphics?g)?{

ImageIcon?icon?=?new?ImageIcon("image\benbenla .jpg");?

Imagen?img?=?icon.getImage();?

g.drawImage(img,?0,?0,?icon.getIconWidth( ),?

icon.getIconHeight(),?icon.getImageObserver());?

jframe.setSize(icon.getIconWidth(),?icon.getIconHeight()); ?

}?

};?

jframe.setTitle("Imagen de fondo de prueba");?

jframe.add( GImage);?

jframe.pack();?

jframe.setVisible(true);?

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);?

}?

público?{

nuevo dibujo();?

}

}

2. ¿Paquete de código fuente JLabel?

¿importar?java.awt.Image;?

importar?javax.swing.ImageIcon;?

import?javax.swing.JFrame;?

import?javax.swing.JLabel;?

/**?¿Usar JLabel para crear imágenes? */?

¿público?

JFrame?

¿público?Drawing2()?{

init1Frame();?

}?

público?void?init1Frame()?

Init1Frame() {? .setImagen(

icon.getImage().getScaledInstance(icon.getIconWidth(),?

icon.getIconHeight(),?Image.SCALE_DEFAULT));?

System.out.println(icon .getIconHeight()? ?"" ?icon.getIconWidth());?

jlpic.setBounds(0,?0,?1366,?768);?

jlpic .setHorizontalAlignment(0);?

jlpic.setIcon(icon);?

jframe.setSize(1366,?768);?

jframe.add (jlpic);?

jframe.pack();?

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);?

jframe.setVisible(true); ?

}?

público?{

¿nuevo?Dibujo2();?

}?

}

Agregar control: jlpic.setIcon(icon);

Container?c?=?new?Container();?

JLabel?user?= ?new?JLabel("Usuario:");?

JLabel?contraseña?=?new?JLabel("Contraseña:");?

JTextField?

JPasswordField?pwd_password?=?new?JPasswordField()?

{?

public?void?paste(){? ).provideErrorFeedback(this); ? }?

};?

usuario.setBounds(200, 25, 50, 25);?

contraseña. setBounds(200, 52, 50, 25);?

txf_userName.setBounds(300, 25, 150, 25);?

pwd_password.setBounds(300, 52, 150, 25);?

c.add(usuario);?

c.add(txf_userName);?

c.add(contraseña);?

c.add(pwd_password);?

c.add(jlpic);?

jframe.setSize(1366,?768);

//?jframe.add();

jframe.add(c);

//?