Stack Overflow en español Asked by ManvsMachine on August 2, 2020
le he puesto una imagen a mi boton y con setBounds lo he posicionado en la pantalla pero por alguna razon a veces sale bien y a veces el boton ocupa toda la pantalla
Imagenes
http://imgur.com/a/u6M4K
http://imgur.com/a/MdMCj
Porque sucede esto?
public class Ventana extends JFrame {
public Ventana(){
super("El laberinto");//Establece el nombre de la ventana
setSize(700, 700);//Establece el tamaño
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//Establece una operacion por deafaul al cerrar
setLocationRelativeTo(null);//Hace que la pantalla no pueda manipularse de tamaño
setVisible(true);
setResizable(false);
Fondo f = new Fondo();
add(f);
setContentPane(f);
setLayout(null);
Botones b = new Botones();
setContentPane(b.b1v1);
/* b.b1v1.setBounds(300,600,50,50);
setContentPane(b.b1v1);*/
}
public class Juego extends JFrame{
public static void main(String[] args) throws MalformedURLException {
Ventana v = new Ventana();
}
}
public class Botones extends JFrame implements ActionListener{
ImageIcon ib1v1;
JButton b1v1;
public Botones(){
ib1v1 = new ImageIcon(getClass().getResource("/Imagenes/siguiente.png"));
b1v1 = new JButton(ib1v1);
b1v1.setIcon(ib1v1);
b1v1.setLayout(null);
b1v1.addActionListener(this);
add(b1v1);
b1v1.setLayout(null);
b1v1.setBounds(300,600,50,50);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()==b1v1) {
try{
Ventana v;
Ventana2 v2 = new Ventana2();
v2.setVisible(true);
v2.setSize(700,700); //Le damos tamaño al frame
v2.setLocationRelativeTo(null);
} catch(Exception excep) {
System.exit(0);
}
}
}
}
Deja setContentPane(f);
quita add(f)
; y cambia setContentPane(b.b1v1);
por add(b.b1v1);
, setContentPane es para asignar el fondo del Jframe y solo puede existir un fondo pero con add puedes agregar varios componentes al Jframe, si agregas varios fondos se sobrepondrán y solo se vera el ultimo que agregaste.
Correct answer by Alexander Castro Romero on August 2, 2020
lo único que hice fue, dentro del constructor donde programo las características gráficas de mis componentes, que para este caso sería
public Botones()
escribes lo siguiente:
setLayout(null)
Answered by Joan Estrada Ramos on August 2, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP