Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > no puedo poner un boton y un fondo sin estropear las medidas

muy buenas, llevo unas semanas yendo a clases de java así que no sé mucho, estoy tratando de crear una ventana en la que haya un fondo de pantalla y un botón, el problema es que sin el botón podía aumentar la ventana y la imagen también lo hacía, pero si pongo el botón y aumento la ventana el botón se esconde detrás de la imagen y esta se queda quieta, llevo unas horas buscando información y demás pero no he conseguido solucionarlo, me registré buscando ayuda, este es el código que hice:


package aplicacionretos;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Insets;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
*
*
*/
public class PantallaInicio extends JFrame {

public Image imagendefondo;
public URL fondo;
JPanel pboton;
JButton reto;

public PantallaInicio(){
this.setBounds(0,0,400,400);
this.setTitle("ventana");


this.setLocationRelativeTo(null);

fondo=this.getClass().getResource("/imagenes/imagen.jpg");
imagendefondo=new ImageIcon(fondo).getImage();

Container contener=getContentPane();
contener.add(panel);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );


panel2();
this.add(panel);
this.add(pboton);


}


public JPanel panel=new JPanel(){

public void paintComponent(Graphics g){
g.drawImage(imagendefondo,0,0,getWidth(),getHeight (),this);

}

};

public void panel2(){

pboton = new JPanel ();


JButton reto = new JButton("reto");

pboton.add(reto);


};


}

noviembre 8, 2014 | Unregistered Commenterdr4

Prueba a hacer el panel transparente:

setOpaque(false);

noviembre 9, 2014 | Registered Commenterchoces

sigue sin funcionar, el botón aparece sin problemas, pero el fallo viene al extender la ventana, que la imagen queda quieta y el botón sigue desapareciendo detrás de ella (si aumento mucho la pantalla el botón acaba saliendo porque la imagen no se mueve) y no entiendo porque, tengo puedo el tamaño de la imagen al mismo que la ventana,pero esa instrucción solo se cumple si quito el botón.

noviembre 9, 2014 | Unregistered Commenterdr4

No estás utilizando ningún tipo de layout.
Si al hacer el fondo del panel transparente, sigue sin funcionar, y si estás ejecutando ese JFrame dentro del EDT (lo que no sé), sospecho que el botón se "sale" de las coordenadas del panel al modificar su tamaño.
No puedo probar tu código, porque falta la imagen; sin embargo, con el layout adecuado, a mi me funciona sin problemas el mismo tipo de diseño.

noviembre 9, 2014 | Registered Commenterchoces

gracias por contestar, ya había probado con los layouts sin resultado,pero me puse ahora y me dí cuenta en seguida de que el fallo es que estaba agregando los layouts en donde no era, muchas gracias por la ayuda!!!

seguro

noviembre 9, 2014 | Unregistered Commenterdr4