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

Crear botones con un array en Java

Estas en el tema de Crear botones con un array en Java en el foro de Java en Foros del Web. Hola amigos, resulta que quiero eliminar lineas de más en un programa en que hay unos botones que representan todas las letras, pero en vez ...
  #1 (permalink)  
Antiguo 12/08/2015, 13:06
Avatar de Hobby72  
Fecha de Ingreso: junio-2009
Mensajes: 34
Antigüedad: 14 años, 10 meses
Puntos: 0
Crear botones con un array en Java

Hola amigos, resulta que quiero eliminar lineas de más en un programa en que hay unos botones que representan todas las letras, pero en vez de hacer un botón para cada letra quería hacer un array con las letras y que al crear el botón con solo hacer una sola instrucción bastase, abajo esta el código, pero no se que esta mal o bien pues me da error, si alguien pudiera ayudarme por favor (No so muy ducho en el tema)

char [] botones = {'A','B','C','D','E','F','G','H','I','J','K','L',' M','N','O','P','Q','R','S','T','U','V','W','X','Y' ,'Z'};

for(int i=0; i<botones.length; i++){

JButton boton[i] = new JButton([i]);
}

Lo que quiero es esto
JButton botonA = new JButton("A");
JButton botonB = new JButton("B");..... y asi hasta la Z

pero con un array para todas las letras si tener que repetir JButton.... para cada letra hasta la Z
No se si me explico, gracias
  #2 (permalink)  
Antiguo 12/08/2015, 14:28
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Crear botones con un array en Java

http://www.forosdelweb.com/f45/crear...-while-964528/

Lo mismo da un while que un for
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 13/08/2015, 06:32
Avatar de Hobby72  
Fecha de Ingreso: junio-2009
Mensajes: 34
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Crear botones con un array en Java

Gracias por responder, pero no logro solucionarlo parece que no se implementar bien el loop o algo. No me sale ni con for, ni con while.
  #4 (permalink)  
Antiguo 13/08/2015, 08:59
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Crear botones con un array en Java

Buenas,

Tu codigo tiene multiples errores. Ni siquiera compila.

Deberia ser algo como esto:

Código Java:
Ver original
  1. char [] botones = {'A','B','C','D','E','F','G','H','I','J','K','L',' M','N','O','P','Q','R','S','T','U','V','W','X','Y' ,'Z'};
  2. JButton[] boton = new JButton[botones.length];
  3.  
  4. for(int i=0; i<botones.length; i++){
  5.     boton[i] = new JButton(botones[i]);
  6. }

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #5 (permalink)  
Antiguo 13/08/2015, 10:44
Avatar de Hobby72  
Fecha de Ingreso: junio-2009
Mensajes: 34
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Crear botones con un array en Java

Hola P.Falken gracias por intervenir pero he probado de todas las forma inclusive de esta que has propuesto tu. pero no puedo ejecutar pq me da error de sintaxis o algo. dejo parte del codigo para ver si os podeis hacer una idea

public class VentanaJuegoAhorcado extends JFrame implements ActionListener{


/**
*
*/
private static final long serialVersionUID = 1L;
char[] palabraCaracteres;
char[] palabraCaracteresComprobar;
String palabra;
String palabraVirtual;
int numeroIntentos;




// creamos los componentes que necesitamos
// fila 1
JPanel fila1 = new JPanel();
JLabel titulo = new JLabel("JUEGO DEL AHORCADO", JLabel.CENTER);


// fila 2
JPanel fila2 = new JPanel();
JButton botonJugar = new JButton("Jugar");
JButton botonParar = new JButton("Parar");
JButton botonSalir = new JButton("Salir");

// fila 3

JPanel fila3 = new JPanel();
JLabel etiquetaPalabraDescubrir = new JLabel("Palabra a descubrir: ", JLabel.RIGHT);
JTextField palabraOculta = new JTextField();
JLabel etiquetaNumeroDeIntentos = new JLabel("Numero de intentos: ", JLabel.RIGHT);
JTextField numeroDeIntentos = new JTextField();



// fina 4.1
JPanel fila4 = new JPanel();

/*
JLabel etiquetaIntroduceLetra = new JLabel("Introduce una letra: ", JLabel.RIGHT);
JTextField introduceLetra = new JTextField();
JLabel etiquetaLetrasIntroducidas = new JLabel("Letras introducidas: ", JLabel.RIGHT);
JTextField letrasIntroducidas = new JTextField(JLabel.RIGHT);
*/
// fila 4.2 creacion de botones para las letras

/////////////////////////////////AQUI ESTA EL CODIGO QUE ME DISTE////////////////////////

char [] botones ={'A','B','C','D','E','F','G','H','I','J','K','L', 'M','N','O','P','Q','R','S','T','U','V','W','X','Y ','Z'};

JButton[] boton = new JButton[botones.length];

for(int i=0; i<botones.length; i++){
boton[i] = new JButton(botones[i]);
}
////////////////////////////////AQUI ESTA EL CODIGO QUE ME DISTE////////////////////////
DESGRACIADAMEMTE NO ME FUNCIONA. Me sale el aspa roja de eclipse en la linea de JButton y otra mas pequena al final de la } del ciclo for



////////////////////////// Y AQUI ESTA EL CODIGO QUE QUIERO HACER CON POCAS LINEAS////////////////////////////////////////
/*JButton botonA = new JButton("A");
JButton botonB = new JButton("B");
JButton botonC = new JButton("C");
JButton botonD = new JButton("D");
JButton botonE = new JButton("E");
JButton botonF = new JButton("F");
JButton botonG = new JButton("G");
JButton botonH = new JButton("H");
JButton botonI = new JButton("I");
JButton botonJ = new JButton("J");
JButton botonK = new JButton("K");
JButton botonL = new JButton("L");
JButton botonM = new JButton("M");
JButton botonN = new JButton("N");
JButton botonO = new JButton("O");
JButton botonP = new JButton("P");
JButton botonQ = new JButton("Q");
JButton botonR = new JButton("R");
JButton botonS = new JButton("S");
JButton botonT = new JButton("T");
JButton botonU = new JButton("U");
JButton botonV = new JButton("V");
JButton botonW = new JButton("W");
JButton botonX = new JButton("X");
JButton botonY = new JButton("Y");
JButton botonZ = new JButton("Z");*/

////////////////////////// Y AQUI ESTA EL CODIGO QUE QUIERO HACER CON POCAS LINEAS////////////////////////////////////////
LO TENGO COMENTADO PARA PROBAR



//Creacion de un JPanel y de una Label en la fila 5 para la imagen del estado del ahorcado
private final JPanel fila5 = new JPanel();
private final JLabel lblNewLabel = new JLabel("");
  #6 (permalink)  
Antiguo 14/08/2015, 03:49
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Crear botones con un array en Java

Cita:
DESGRACIADAMEMTE NO ME FUNCIONA. Me sale el aspa roja de eclipse en la linea de JButton y otra mas pequena al final de la } del ciclo for
El aspa roja significa que no compila. Normalmente te dice la causa si pones encima el raton.

En realidad habia copiado y pegado a partir de tu codigo y hay dos cosas que no son correctas. El [] en la declaracion debe ir despues del identificador de la variable y JButton no admite un char como contructor.

Quedaria asi:
Código Java:
Ver original
  1. char botones[] ={'A','B','C','D','E','F','G','H','I','J','K','L', 'M','N','O','P','Q','R','S','T','U','V','W','X','Y ','Z'};
  2.  
  3. JButton boton[] = new JButton[botones.length];
  4.  
  5. for(int i=0; i<botones.length; i++){
  6. boton[i] = new JButton(Character.toString(botones[i]);
  7. }

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #7 (permalink)  
Antiguo 14/08/2015, 06:41
Avatar de Hobby72  
Fecha de Ingreso: junio-2009
Mensajes: 34
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Crear botones con un array en Java

Gracias P_F tengo poca experiencia y sobre todo en el tema de arrays, he rectificado acorde a tu consejo, ahora el codigo lo dejo como me has dicho pero me queda un error en la linea de JButton antes del cilco me dice que es de sintaxis pero he revidado codigo no he encontrado nada, era el mismo erro antes de cambiar char[]botones por char botones[]. echale un viztaso si tienes tiempo a ver si le vez algo raro. Gracias de antemano

char botones[] = {'A','B','C','D','E','F','G','H','I','J','K','L',' M','N','O','P','Q','R','S','T','U','V','W','X','Y' ,'Z'};

JButton boton[] = new JButton[botones.length];

for (int i=0; i < botones.length; i++) {

boton[i] = new JButton(Character.toString(botones[i]));
}
  #8 (permalink)  
Antiguo 14/08/2015, 11:40
Avatar de Hobby72  
Fecha de Ingreso: junio-2009
Mensajes: 34
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Crear botones con un array en Java

Ahora resulta que he descubierto una cosa al menos para mi, probando y probando sin parar. El código así tal cual lo tengo:

char[] botones = {'A','B','C','D','E','F','G','H','I','J','K','L',' M','N','O','P','Q','R','S','T','U','V','W','X','Y' ,'Z'};
JButton[] boton = new JButton[botones.length];
for (int i=0; i < botones.length; i++){
boton[i] = new JButton(Character.toString(botones[i]));

No me da ningún problema si lo incorporo dentro de la clase principal main, pero fuera de esta, me marca errores de sintaxis.
Yo me pregunto si no tendré que crear un método o una clase para que esto me funcione como es debido, pues en donde me daba error lo cambie así y ahora no me da, pero me salen en otras lineas que lógicamente dependen de este por algún motivo. Cambiándolo así no me da problemas fuera de main

void Botonera(){
char[] botones = {'A','B','C','D','E','F','G','H','I','J','K','L',' M','N','O','P','Q','R','S','T','U','V','W','X','Y' ,'Z'};
JButton[] boton = new JButton[botones.length];
for (int i=0; i < botones.length; i++){
boton[i] = new JButton(Character.toString(botones[i]));
}
}

y si fuese así como creo entonces un objeto para hacer la llamada para que se fabriquen los botones de todas las letras, ya lo veo aún mas complicado pq entonces como pasaría la variable [ i ] del ciclo para que funcionase
  #9 (permalink)  
Antiguo 28/08/2015, 05:31
Avatar de Hobby72  
Fecha de Ingreso: junio-2009
Mensajes: 34
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Crear botones con un array en Java

Bueno voy a dar por solucionado a medias el Tema pues no lo he puesto en practica aún. Pero en principio deberia ir en el costructor o en el método, el loop con los botones y en el método main o la instanciar un objeto que llame al método que crea los botones de golpe, en principio la idea seria esa.
Gracias igualmente a los que me han respondido

Etiquetas: botones, programa
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 09:27.