Tengo un JFrame formulario con etiquetas, campos de texto, un cuadro combinado y un grupo de botones que tiene 2 botones de radio. En otra forma tengo un JTable llenado con los datos sobre los estudiantes (student id, nombre…), y cuando selecciono una fila de una tabla, se abre el formulario y su campo tiene que ser llenado con los mismos valores (por ejemplo. si Peter Peterson fue seleccionado de la tabla, a continuación, su nombre se muestra en el texto presentado Nombre en el formulario, así que lo hice txtfieldName.setText(estudiante.getName), mi pregunta es ¿cómo hago para que el botón de radio? ¿Necesito tener sí/no de la columna en la tabla, así que cuando seleccione una fila de la tabla donde el valor es, dicen, «sí» con el fin de tener sí botón de radio seleccionado en el formulario?

  • Selecciona el botón de radio a través del grupo: group.setSelected(button.getModel(), true);
  • usted debe publicar que como una respuesta 🙂
  • Como usted desea. : )
InformationsquelleAutor user2370759 | 2013-08-15

4 Comentarios

  1. 1

    Esto depende. Es el valor que se aplica a los botones de radio, parte de los datos de la tabla subyacente (es decir, de su objeto de estudiante)? Si es así, entonces, no, usted no tiene que TENER sí/no de la columna, aunque podría ser de utilidad si usted está tratando de tomar decisiones sobre él. En su lugar, simplemente extraiga el objeto de estudiante.

    Me gustaría mostrar el valor sí/no como una columna Si era pertinente para la decsion de decisiones.

    Si el valor que desea utilizar para configurar el botón de radio NO es parte de la estudiante de la oect, entonces usted necesita para tomar algunas decisiones.

    Personalmente, me gustaría crear un contenedor de objeto que representa el estado de la fila, esto incluiría el objeto de estudiante y cualquier otra información pertinente que usted podría desear. Esto hace que los datos autónomo y hace que el acceso a la información más fácil.

    Si fuera deseable, entonces, sí, usted necesitará probablemente mostrar el valor de una columna y mantener como valor independiente dentro de la tabla modelo.

    Esto también va a venir a cómo se ha Implementado el modelo de mesa

    Actualizado con la retroalimentación de la OP

    Bien, así que, con su student objeto de la mano. Usted puede conseguir el boolean propiedad de la student (que es empezar representado en la pantalla por que los botones de radio) y hacer una elección…

    trueRadioButton.setSelected(booleanValue);
    trueRadioButton.setSelected(!booleanValue);

    Podría hacer aún más simple mediante el uso de un JCheckBox lugar…

    checkBox.setSelected(booleanValue);
    • Sí, ese valor es parte de mi objeto de estudiante. Esa es una de las columnas en la tabla de alumnos en mi base de datos. Cuando abro mi JFrame forma, quiero botón para mostrar los valores de la base de datos para un estudiante en particular(si es que SÍ, en la base de datos, entonces SÍ botón de radio debe estar seleccionado). Hice esto para los campos de texto, que funcionan, pero estoy atascado con los botones de la radio.
    • Si txtFieldName.setText(estudiante.getName) se utiliza para campos de texto, ¿hay algo similar para el uso de los botones de la radio?
    • ¿Cuál es el valor de el valor sí/no de su studdent objeto? Es un valor Booleano o algún otro valor? ¿Cómo se puede distinguir entre el valor de su estudiante y los botones de radio?
    • Es Booleano. Lo siento, no entiendo tu segunda pregunta.
    • Bien, así que armado con la boolean de la propiedad, usted necesita utilizar para decidir qué JRadioButton debe ser seleccionado. No existe un único método que puede utilizar para establecer el grupo entero. De hecho, sería eaiser si usted utiliza un JCheckBox ya que sólo tiene dos (principal) de los estados, true o false, seleccionado o no seleccionado…en mi humilde opinión – Ver la actualización
  2. 0

    Seleccione los botones de radio a través de la ButtonGroup:

    group.getSelected(button.getModel(), true);

    • Yo no creo que él esté preguntando cómo saber que se ha seleccionado el botón; yo creo que él está preguntando si él debe saber que uno en el grupo es seleccionado para comenzar con (respuesta: no) para tener en el formulario.
    • Necesito los botones en la J de que me muestre el valor de la base de datos. Para los campos de texto que uso txtFieldName.setText(estudiante.getName()), me estoy preguntando cómo hacerlo para los botones de la radio…
  3. -1

    Usted no tiene que saber que botón de opción está seleccionado a priori, así que usted no tiene que tener esa información en la tabla, si usted no lo desea. Puede crear una instancia de ambos botones de radio con el «seleccionado» parámetro se establece a false:

    JRadioButton button = new JRadioButton("My button label", false);
    JRadioButton otherButton = new JRadioButton("My other button label", false);
    ButtonGroup group = new ButtonGroup();
    group.add(button);
    group.add(otherButton);
    • La cosas es que tengo esa información en la base de datos, la columna que representa los botones yes/no valores. Así, no quiero que la información de la J de la tabla, pero cuando abro mi Jframe form, necesito los botones para mostrar el valor de la base de datos.
    • Ah, ya veo. He usado personalizado TableModels para solucionar este tipo de problema. Por ejemplo, usted puede cargar los datos de la base de datos en un TableModel aplicación que devuelve valores para los índices de columna; es decir, getValueAt(fila, -1) se le dará el valor deseado para el botón de radio. La negativa de las columnas no se mostrará en la tabla, pero que van a ser accesibles para la obtención de los puntos de datos. por ejemplo, MyTableModel modelo = (MyTableModel)de la tabla.llamado getmodel(); Boolean b = (Boolean)del modelo.getValueAt(fila, -1); JRadioButton button = new JRadioButton(«Mi Botón de Etiqueta», b.booleanValue());
    • Déjeme saber si usted me quiere a carne que comentario anterior en una más completa respuesta.

Dejar respuesta

Please enter your comment!
Please enter your name here