Foros del Web » Programación para mayores de 30 ;) » Java »

Problemas con JButton

Estas en el tema de Problemas con JButton en el foro de Java en Foros del Web. Hola, tengo un problema a la hora de colocar una imagen en un JButton, he estado buscando y en todos los sitios veo que es ...
  #1 (permalink)  
Antiguo 30/12/2010, 10:10
 
Fecha de Ingreso: diciembre-2010
Mensajes: 10
Antigüedad: 13 años, 4 meses
Puntos: 0
Problemas con JButton

Hola, tengo un problema a la hora de colocar una imagen en un JButton, he estado buscando y en todos los sitios veo que es con el método setIcon() pero no consigo que me funcione, os pongo un poco de codigo para ver si veis algún error:

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

class Jugador extends JPanel implements ActionListener
{
private JButton botonCasilla[]=new JButton[101];

ImageIcon fondo;
ImageIcon tocado;
ImageIcon centroH;
ImageIcon centroV;
ImageIcon izquierda;
ImageIcon arriba;
ImageIcon derecha;
ImageIcon abajo;
ImageIcon fallo;


public Jugador()
{
fondo = new ImageIcon("images/fondo2.gif");
tocado = new ImageIcon("images/tocado");
centroH = new ImageIcon("images/centroH");
centroV = new ImageIcon("images/centroV");
izquierda = new ImageIcon("images/izquierdaH");
arriba = new ImageIcon("images/arriba");
derecha = new ImageIcon("images/derechaH");
abajo = new ImageIcon("images/abajo");
fallo = new ImageIcon("images/fallo");

setLayout(new FlowLayout());
setLayout(new GridLayout(10,10));
//this.setPreferredSize(new java.awt.Dimension(195, 195));
for(int i=0; i<100;i++)
{

botonCasilla[i] = new JButton();
botonCasilla[i].setBackground(Color.blue);
botonCasilla[i].setOpaque(false);
botonCasilla[i].setEnabled(true);
botonCasilla[i].addActionListener(this);
add(botonCasilla[i]);
}

botonCasilla[12].setIcon(tocado);
}

No me aparece nada en la cuadrícula, sólo los botones transparentes sin ningún icono.

Gracias, espero sus respuestas.
  #2 (permalink)  
Antiguo 30/12/2010, 10:37
 
Fecha de Ingreso: diciembre-2010
Mensajes: 459
Antigüedad: 13 años, 4 meses
Puntos: 21
Respuesta: Problemas con JButton

prueba ponerle a tu jpanel estas propiedades

this.setBounds(x,y,t,z);
this.setLayout(null);

y despues a tu boton

volver=new JButton("Volver a pagina principal");
volver.setBounds(450, 650, 180, 20);
this.add(volver);
volver.addActionListener(new AltaPaginaPrincipalAction(this));

algo asi
  #3 (permalink)  
Antiguo 30/12/2010, 10:45
 
Fecha de Ingreso: diciembre-2010
Mensajes: 10
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Problemas con JButton

no entiendo que tiene que ver eso con que no se vea la imagen que intento poner al botón, pero de todas formas gracias por contestar
  #4 (permalink)  
Antiguo 31/12/2010, 00:49
 
Fecha de Ingreso: diciembre-2010
Mensajes: 459
Antigüedad: 13 años, 4 meses
Puntos: 21
Respuesta: Problemas con JButton

class Jugador extends JFrame{


//creas el constructor
jugador{
// como heredas de jframe pones,
this.setlayout(null); aqui ndicas que el jframe es vacio

this. ("Ventana",800,800) esta parte no me aucerdo muy bien como va pero sirve para darle valores de tamaño al jframe, buscalo por internet y si no lo encuentras me dices

this.setvisible(true) para que veas el jframe

Jbutton aceptar=JButton("aceptar") te creas un boton

aceptar.setbounds(10,10,100,10) aqui le dices al boton la posicion q ocupara en el jframe siendo por este orden x,y,ancho,altura

aceptar.addactionlistener(lo q sea)

this.add(aceptar) aqui añades el boton al jframe


}

}

Espero q entiendas esto mejor
  #5 (permalink)  
Antiguo 31/12/2010, 04:03
 
Fecha de Ingreso: diciembre-2010
Mensajes: 10
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Problemas con JButton

vale ya lo he conseguido arreglar, faltaba la extensión de los archivos .gif
  #6 (permalink)  
Antiguo 31/12/2010, 04:32
 
Fecha de Ingreso: diciembre-2010
Mensajes: 459
Antigüedad: 13 años, 4 meses
Puntos: 21
Respuesta: Problemas con JButton

ok, me alegro

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:14.