Dudas importantes (perdonad el anterior, se me fue el puntero a enviar antes de tiempo)
Hola!
Estoy haciendo un programa en Java y necesito un poquito de ayuda. Se trata de seleccionar respuestas, por lo que me he creado una clase especial de checkbox que es esta:
class MyCheckBox extends Checkbox {
int fila, columna;
public MyCheckBox(String label, int fil, int col, CheckboxGroup group, boolean state) {
super(label, group, state);
fila = fil;
columna = col;
}
public int getFila() {
return fila;
}
public int getColumna() {
return columna;
}
}
Que las defino mediante un bucle for como este en grupos de 4 botones:
CheckboxGroup grupo = new CheckboxGroup();
for(int j = 1; j <= 4; j++) {
MyCheckBox g = new MyCheckBox(null, cont, j, grupo, false);
g.addItemListener(this);
}
y se la que esta siendo pulsada por la columna y respuesta tal que asi:
public void itemStateChanged(ItemEvent ie) {
if (responde[((MyCheckBox)ie.getSource()).getFila() - 1] == ((MyCheckBox)ie.getSource()).getColumna()) {
responde[((MyCheckBox)ie.getSource()).getFila() - 1] = -1;
Mi problema viene a que necesito deseleccionar las opciones cuando se pulsa sobre una que ya esta seleccionada y no se como hacerlo. ¿es posible, o una vez un radio button de un grupo adquiere el valor true es imposible que vuelvan todos a su estado original de false?
¿Como se harÃa en este código?
Otra pregunta más corta ¿es posible definir un textarea de un número fijo de columnas y que no salgan barras de desplazamiento cuando se meta texto superior a esas columnas, sino que se corte y salte de lÃneas?
Ambas dudas son muy importantes para mi trabajo y agradecerÃa cualquier colaboración.
Muchas gracias,
Saludos,
Ale
Estoy haciendo un programa en Java y necesito un poquito de ayuda. Se trata de seleccionar respuestas, por lo que me he creado una clase especial de checkbox que es esta:
class MyCheckBox extends Checkbox {
int fila, columna;
public MyCheckBox(String label, int fil, int col, CheckboxGroup group, boolean state) {
super(label, group, state);
fila = fil;
columna = col;
}
public int getFila() {
return fila;
}
public int getColumna() {
return columna;
}
}
Que las defino mediante un bucle for como este en grupos de 4 botones:
CheckboxGroup grupo = new CheckboxGroup();
for(int j = 1; j <= 4; j++) {
MyCheckBox g = new MyCheckBox(null, cont, j, grupo, false);
g.addItemListener(this);
}
y se la que esta siendo pulsada por la columna y respuesta tal que asi:
public void itemStateChanged(ItemEvent ie) {
if (responde[((MyCheckBox)ie.getSource()).getFila() - 1] == ((MyCheckBox)ie.getSource()).getColumna()) {
responde[((MyCheckBox)ie.getSource()).getFila() - 1] = -1;
Mi problema viene a que necesito deseleccionar las opciones cuando se pulsa sobre una que ya esta seleccionada y no se como hacerlo. ¿es posible, o una vez un radio button de un grupo adquiere el valor true es imposible que vuelvan todos a su estado original de false?
¿Como se harÃa en este código?
Otra pregunta más corta ¿es posible definir un textarea de un número fijo de columnas y que no salgan barras de desplazamiento cuando se meta texto superior a esas columnas, sino que se corte y salte de lÃneas?
Ambas dudas son muy importantes para mi trabajo y agradecerÃa cualquier colaboración.
Muchas gracias,
Saludos,
Ale
Hola Ale.
Yo lo que haria para resolver tu primera duda es preguntar haciendo un bucle si checkbox.isSelected() todas las demas deseleccionar con setSelected (false). Y la segunda pregunta no se si esto te va a solucionar lo que preguntas pero prueba con la propiedad setLineWrap(true) eso hace que no se autoescrole el el componente. Espero esto te haya sido de ayuda. Y no dudes en mandarme un correo si te surge algo mas. Un saludo y animo.
Yo lo que haria para resolver tu primera duda es preguntar haciendo un bucle si checkbox.isSelected() todas las demas deseleccionar con setSelected (false). Y la segunda pregunta no se si esto te va a solucionar lo que preguntas pero prueba con la propiedad setLineWrap(true) eso hace que no se autoescrole el el componente. Espero esto te haya sido de ayuda. Y no dudes en mandarme un correo si te surge algo mas. Un saludo y animo.