Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/12/2009, 18:23
zepelin01
 
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