¿Cómo pudiera insertar una imagen de fondo en un JFrame ?
He buscado pero no encontrado nada al respecto.
Saludos
| ||||
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: salu2 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). |
| |||
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 |