Foros del Web » Programación para mayores de 30 ;) » Java »

Imagen de Fondo en un JFrame !!!!!

Estas en el tema de Imagen de Fondo en un JFrame !!!!! en el foro de Java en Foros del Web. ¿Cómo pudiera insertar una imagen de fondo en un JFrame ? He buscado pero no encontrado nada al respecto. Saludos...
  #1 (permalink)  
Antiguo 06/04/2007, 22:12
Avatar de DebMaster  
Fecha de Ingreso: marzo-2007
Ubicación: La Habana,Cuba
Mensajes: 19
Antigüedad: 17 años, 1 mes
Puntos: 0
Imagen de Fondo en un JFrame !!!!!

¿Cómo pudiera insertar una imagen de fondo en un JFrame ?
He buscado pero no encontrado nada al respecto.
Saludos
  #2 (permalink)  
Antiguo 07/04/2007, 05:28
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Re: Imagen de Fondo en un JFrame !!!!!

http://es.answers.yahoo.com/question...3203717AA64Egq

http://www.google.es/custom?q=imagen...ORID%3A1&hl=es

http://www.planetalia.com/cursos/Jav...ADERS-25.clase

http://www.clubdevelopers.com/index....l=0&fs=991#996
Cita:
No es posible añadir imágenes de fondo a un componente con las clases estándars de Swing. Por suerte, hacer una clase que lo permita no es muy complicado, bastará con crear un nuevo componente que herede de JComponent y sobrecargar el método paintComponent.

El método paintComponent(Graphique g) se encarga de dibijar el componente.

Ejemplo (Swing):




public class MiPanel extends JComponent {
/** variable de la clase que contiene la imagen a mostrar de fondo */
private Image bg;

/** Sobrecarga del método paintComponent() para mostrar nuestra imagen */
public void paintComponent(Graphics g) {
g.drawImage(bg,0,0,null);
}
}



Ejemplo (AWT):


public class MiPanel {
/** variable de la clase que contiene la imagen a mostrar de fondo */
private Image bg;

/** Sobrecarga del método paint() para mostrar nuestra imagen */
public void paint(Graphics g) {
g.drawImage(bg,0,0,null);
}
}



Nota:
Podemos poner el componente en el JFrame usando el método setComponentPane(miComponente).
salu2
  #3 (permalink)  
Antiguo 17/12/2009, 18:23
 
Fecha de Ingreso: diciembre-2009
Mensajes: 1
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Imagen de Fondo en un JFrame !!!!!

hola, soy nuevo en el foro y tengo una duda no se como centrar el panel de usuario y contraseña en el panel con la imagen de fondo, aca les adjunto el codigo. Por si las dudas programo en eclipse.

package Ventana2;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;



import javax.swing.*;



public class VentanaInicio1 extends JFrame implements ActionListener, KeyListener{

private static final long serialVersionUID = 1L;



private JPanel panelcontraseña,panelusuario,panel,panel1, panel2;
private JTextField usuario,usuarioField,pass;
private JPasswordField contraseña;
private JMenuBar menu;
private JMenuItem acerde, opciones, cambiar, articulo, insumo;
private JMenu acerca, config, producto;
private JButton contra, cambiocontra;
private JLabel imagen;
private int s=0;
TraerTabla tab = new TraerTabla();


public VentanaInicio1()
{
super("Quimey");
ImageIcon icono = new ImageIcon("src/Ventana2/foto1.jpg");
imagen = new JLabel(icono);
imagen.setSize(1024,768);

menu= new JMenuBar();
config = new JMenu("Configuracion");
config.setMnemonic('C');
opciones = new JMenuItem("Opciones");
opciones.setMnemonic('O');
cambiar = new JMenuItem("Cambiar contraseña");
cambiar.setMnemonic('C');
acerca = new JMenu("Acerca de");
acerca.setMnemonic('A');
acerde = new JMenuItem("Creditos");
acerde.setMnemonic('C');
producto = new JMenu("Productos");
producto.setMnemonic('P');
articulo = new JMenuItem("Articulos");
articulo.setMnemonic('A');
insumo = new JMenuItem("Insumos");
insumo.setMnemonic('I');

insumo.setActionCommand("Insumo");
insumo.addActionListener(this);

articulo.setActionCommand("Articulo");
articulo.addActionListener(this);

opciones.setActionCommand("Opcion");
opciones.addActionListener(this);

cambiar.setActionCommand("Cambiar");
cambiar.addActionListener(this);

acerde.setActionCommand("Acerca");
acerde.addActionListener(this);

producto.add(articulo);
producto.add(insumo);
acerca.add(acerde);
config.add(cambiar);
config.add(opciones);
menu.add(producto);
menu.add(config);
menu.add(acerca);
acerca.setEnabled(false);
config.setEnabled(false);
producto.setEnabled(false);



cambiocontra = new JButton("Olvido la contraseña");
cambiocontra.setOpaque(true);
cambiocontra.setMnemonic('C');
cambiocontra.addActionListener(this);

usuario = new JTextField("Usuario: ", 10);
usuario.setBackground(Color.LIGHT_GRAY);
usuario.setEditable(false);


usuarioField= new JTextField("seba",20);
usuarioField.setBackground(Color.LIGHT_GRAY);
usuarioField.addKeyListener(this);

pass = new JTextField("Contraseña", 10);
pass.setBackground(Color.LIGHT_GRAY);
pass.setEditable(false);


contraseña = new JPasswordField("seba",20);
contraseña.setBackground(Color.LIGHT_GRAY);
contraseña.addKeyListener(this);

contra = new JButton("Aceptar");
contra.setOpaque(true);
contra.setMnemonic('A');
contra.addActionListener(this);


panel= new JPanel();
panel1 = new JPanel();
panel2= new JPanel();

panelusuario= new JPanel();
panelusuario.setLayout( new BoxLayout(panelusuario, BoxLayout.X_AXIS) );
panelusuario.add(usuario);
panelusuario.add(usuarioField);

panelcontraseña= new JPanel();
panelcontraseña.setLayout( new BoxLayout(panelcontraseña, BoxLayout.X_AXIS) );
panelcontraseña.add(pass);
panelcontraseña.add(contraseña);


panel1.setLayout( new BoxLayout(panel1, BoxLayout.X_AXIS) );
panel1.add(contra);
panel1.add(cambiocontra);
panel.setLayout( new BoxLayout(panel, BoxLayout.Y_AXIS) );

panel.add(panelusuario);
panel.add(panelcontraseña);
panel.add(panel1);

panel2.add(panel);
panel2.add(new MyJPanel());

setLayout(new BorderLayout());

add(menu,BorderLayout.NORTH);
add(panel2);


setSize(600, 570);
Dimension pantalla = Toolkit.getDefaultToolkit().getScreenSize();
Dimension ventana = getSize();
setLocation((pantalla.width - ventana.width) / 2,(pantalla.height - ventana.height) / 2);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent evt)
{

String comand=(String)evt.getActionCommand();


if(comand.compareTo("Acerca")==0)
{
JOptionPane.showMessageDialog(this,"Sebastián Lucas","Desarrollado por",JOptionPane.INFORMATION_MESSAGE);
}

if(comand.compareTo("Articulo")==0)
{
new VentanaArticulos();


}
if(comand.compareTo("Insumo")==0)
{
new VentanaInsumos();

}

if(comand.compareTo("Opcion")==0)
{
new VentanaStock();

}

if(comand.compareTo("Cambiar")==0)
{
new VentanaContraseña();

}



if(evt.getSource()== cambiocontra)
{
tab.traeFraseContaseña(usuarioField.getText());


}

if(evt.getSource()== contra )
{


validacion();
}

}


//*************manejador de eventos teclas********//////


@Override
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==10)
{
validacion();
}

}
@Override
public void keyReleased(KeyEvent e)
{


}
@Override
public void keyTyped(KeyEvent e)
{


}

//*************fin manejador de eventos teclas********//////

private void validacion()
{
Object b = usuarioField.getText();

if(tab.comprobarUsuario(b,(Object)new String(contraseña.getPassword()))== true)
{
tab.setUsuario(b);
panel.setVisible(false);
acerca.setEnabled(true);
config.setEnabled(true);
producto.setEnabled(true);

s=0;
}
else
{
s++;
JOptionPane.showMessageDialog(this,"CONTRASEÑA O USUARIO INCORRECTO", "error",JOptionPane.ERROR_MESSAGE);
panel.repaint();
if(s==3)
System.exit(0);

}


}
public static void main(String[] args) {
VentanaInicio1 frame = new VentanaInicio1();
frame.setVisible(true);


}


}

class MyJPanel extends JPanel {

private static final long serialVersionUID = 1L;
private ImageIcon imageIcon;


// load image
public MyJPanel()
{

imageIcon = new ImageIcon( "src/Ventana2/foto1.jpg" );
}

// display imageIcon on panel
public void paintComponent( Graphics g )
{
// call superclass paintComponent method
super.paintComponent( g );

// display icon
imageIcon.paintIcon( this, g, 0, 0 );
}

// return image dimensions
public Dimension getPreferredSize()
{
return new Dimension( imageIcon.getIconWidth(),
imageIcon.getIconHeight() );
}

} // end class MyJPanel


desde ya gracias. saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:25.