Autor
|
Tema: Imagen en JFrame (Leído 2,171 veces)
|
Shell Root
|
Como hago para ponerle una imagen de fondo a un JFrame? He visto algunos ejemplos pero usan un código muy extenso...
|
|
|
En línea
|
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
|
|
|
visualfree
Desconectado
Mensajes: 201
|
import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL;
import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel;
public class GuiTestBed extends JPanel { private static final long serialVersionUID = 1L;
public static void main(String args[]) { JFrame frame = new JFrame("GUI Test Bed 2"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setResizable(false); frame.setSize(765,503); frame.getContentPane().setBackground(Color.BLUE); String path = "direccion de tu imagen"; JLabel myLabel = new JLabel(); try { URL url = new URL(path); BufferedImage image = ImageIO.read(url); myLabel = new JLabel(new ImageIcon(image)); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } frame.getContentPane().add(myLabel); //frame.getContentPane().add(new GuiTestBed()); frame.setVisible(true); } public void paint(Graphics g) { g.setColor(Color.WHITE); g.setFont(new Font("Comic Sans Ms", Font.BOLD, 14)); g.drawString("Timer: 1:04:32" , 550, 260); g.drawString("Edu XP : 22223" , 550, 280); } }
|
|
|
En línea
|
|
|
|
YairMon
Desconectado
Mensajes: 15
|
Mira, yo uso una imagen del tamaño del frame.
Por ejemplo hago un dibujito en tuxPaint (Es como el "paint" de window$) y lo guardo al tamaño que necesito.
Entonces:import java.awt.Color; import java.awt.Graphics; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JPanel; public class ImagenFondo extends JPanel{ // imagen de fondo // frame donde va este panel public ImagenFondo(){ // cerrar por defecto, tamanio, visibilidad... frame. setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); frame.setSize(400,400); frame.setVisible(true); frame.add(this); // agrego este mismo panel // creo el fondo con la ruta de la imagen // coloco la imagen y le envio las graficas y la posicion fondo.paintIcon(null, getGraphics(), 0, 0); } //pongo un color fondo (no sirve para nada si esta la imagen sobre el) g.fillRect(0, 0, 400, 400); //cuando no sale el fondo lo coloco aqui (fondo.paintIcon(null, g, 0, 0);) } public static void main (String[] args ){ new ImagenFondo(); } }
PD: la imgagen que tengo "img_fondo-PC.png" mide 400x400 y la tengo dentro del proyecto fuera de la carpetas "src" y "bin"
|
|
« Última modificación: 19 Mayo 2013, 04:19 am por YairMon »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con 2 JFrame plz
Java
|
visualfree
|
3
|
5,042
|
24 Abril 2009, 05:03 am
por visualfree
|
|
|
JFrame MDI
Java
|
[GB]
|
0
|
3,223
|
23 Noviembre 2009, 23:34 pm
por [GB]
|
|
|
JFrame
« 1 2 »
Java
|
nerckos
|
10
|
8,583
|
8 Mayo 2010, 15:58 pm
por nerckos
|
|
|
Llamar un Jframe
Java
|
blood_brother
|
8
|
12,003
|
9 Junio 2010, 08:29 am
por blood_brother
|
|
|
Ayuda con JFrame y Tratamiento de imagen JAVA
Java
|
UnchainedGold40
|
7
|
3,199
|
8 Enero 2016, 00:13 am
por 0xFer
|
|