AnswerBun.com

Problema con JButton en Java

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);
}
}
}
}

2 Answers

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

Add your own answers!

Related Questions

Como iterar un entero en python?

1  Asked on September 20, 2020 by kilex

   

419 Page Expired, laravel JS

1  Asked on September 14, 2020 by yeisson-pinilla

     

¿Cómo crear un método para modificar la contraseña en node.js?

1  Asked on September 12, 2020 by osleynin-mambell-ramos

   

Actualizar datos en SSIS

1  Asked on September 11, 2020 by guillermo-ricardo-spindola-bri

     

Falta enviar datos del input a phpmyadmin (PHP)

0  Asked on September 11, 2020 by hatori-hanso

   

¿Cómo valido si una cadena es vacía en Python?

1  Asked on September 10, 2020 by fedorqui-so-deja-de-daar

   

Envío SMS no se envía pero informa éxito en la operación

2  Asked on September 8, 2020 by briast

     

Configuracion del web.Config

1  Asked on September 5, 2020 by afar1793

         

Iniciar un fragment al pulsar una notificación

0  Asked on September 3, 2020 by lukaman

 

Eventos del ratón con Python

0  Asked on September 3, 2020 by hector-lacunza

 

Problemas con el dismiss();

1  Asked on September 2, 2020 by tony-ormaza

 

No me funciona el @media

1  Asked on August 29, 2020 by francisco

       

Array Angular – IONIC

1  Asked on August 25, 2020 by isg-lokimil

   

Ask a Question

Get help from others!

© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP