Java - Bordes de JButton con imagen

 
Vista:

Bordes de JButton con imagen

Publicado por SergioAB (16 intervenciones) el 17/01/2010 21:35:33
Hola
Os comento una duda que tengo con JBtutton a los que tengo asignados imagenes como botones.
Para intentar explicarme bien os adjunto un enlace a una imegn que he capturado y el como lo hago :)

El caso es que asigno una imagemn a un JButton para que el boton sea una imagen, lo hago con el siguiente codigo:

boton.setIcon(new ImageIcon(getClass().getResource("icono_engadget.png")));

El caso es que se asigna correctamente la imagen al boton, pero este (el JButton) no se adapta al tamaño de la imagen y ademas, deja el recuadro del tamaño del boton que contiene la imagen añadida

Como os comentaba, os pongo un enlace a una imagen para que veais a que me refiero

http://twitpic.com/yjma8

Os estaria muy agradecido si pudierais arrojarme algo de luz en el tema :)

Como siempre, muchas gracias por vuestro interes y paciencia

Un saludo, Sergio.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Bordes de JButton con imagen

Publicado por Frank (55 intervenciones) el 17/01/2010 23:41:23
Hola

Intenta ajustar el tamaño del boton de acuerdo al tamaño de la imagen, si la imagen es de 50X50 pues coloca esta instruccion para el boton boton.setSize(50,50);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bordes de JButton con imagen

Publicado por SergioAB (16 intervenciones) el 17/01/2010 23:55:45
Ante todo muchas gracias por tu respuesta :)
Voy a probar lo que comentas en cuanto llegue a casa y pueda abrir el eclipse, no obstante te comento que no estoy seguro, pero al usar JLayeredPane, se puede seguir dimensionando los botones con setSize?

De nuevo gracias y un saludo, Sergio :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bordes de JButton con imagen

Publicado por SergioAB (16 intervenciones) el 18/01/2010 00:25:35
Perdon, amplio lo que comente antes.
Efectivamente consta un JLayeredPane, pero los botones estan asociados a un FlowLayout que es lo que creo que evita el poder redimensionar los botones con setSize

Gracias y lamento la confusion del JLayeredPane con el FlowLayout

Saludos :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bordes de JButton con imagen

Publicado por Frank (55 intervenciones) el 18/01/2010 03:14:57
HOLA

Bueno, no le coloques FlowLayout, colocale el Layout como nulo.

Si el boton esta en un JFrame entonces colocale setLayout(null);

Si es un JPanel entonces seria Panel.setLayout(null);

Por que colocar el Layout nulo? porque asi te dejara redimensionar los botones, cajas de texto, etc..

ya sabes boton.setSize() de acuerdo al tamaño de la imagen

Si todavia hay problemas vuelve y comenta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bordes de JButton con imagen

Publicado por SergioAB (16 intervenciones) el 18/01/2010 09:24:51
De nuevo gracias por tu interes y respuestas Frank, probare a asignar layout nulo como comentas, lo unico que me preocupa es que al no estar contenido en un layout , al ejecutarse en otro equipo con otra resolucion, puedan descuadrarse los botones

Muy agradecido y te agradezcola paciencia :)

Un saludo, SergioAB
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bordes de JButton con imagen

Publicado por SergioAB (16 intervenciones) el 18/01/2010 23:03:09
Hola de nuevo
Pues ademas de la ayuda brindada por el amigo Frank solo la opcion del layoout nulo, al final he encontradio la solucion para eliimnar tanto los bordes de los botones, asi como los margenes que sobren en relacion al tamaño de la imagen, con estos dos codigos que os adjunto el JButton queda perfectamente ajustado solo al tamaño de la imagen asignada al boton, seria de esta forma

boton.setBorderPainted(false); // Elimina el recuadro que rodea al boton
boton.setMargin(insets()); // Elimina el margen que sobre desde la imgen hasta el tamaño del boton, dejando el boton justo del tamaño de la imagen

Espero sea de ayuda a mas usuarios

Un saludo, SergioAB
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bordes de JButton con imagen

Publicado por julio (1 intervención) el 06/06/2011 16:39:47
A mi me ha servido.

Muchas gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bordes de JButton con imagen

Publicado por Anderson (1 intervención) el 13/09/2012 10:13:44
Braaavo! Eres muy bueno tio! me habeis sacado de un apuro que ni te imaginas!!! Muchisimas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar