Cómo abrir otro JFrame con el RadioButton seleccionado de acuerdo a los datos en JTable.
Estoy intentando enviar datos a un JFrame
llamado UpdateCar
utilizando un botón. Los datos deben indicar qué botón de opción debe estar seleccionado.
btnUpdateCar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
UpdateCar updatePage = new UpdateCar();
updatePage.setVisible(true);
int selectedRow = table.getSelectedRow();
updatePage.buttonGroup.setSelected(getSelectedButton(model,selectedRow).getModel(),true);
// cuando uso la línea anterior no funciona. Pero en su lugar, si uso lo que devuelve, funciona para ese valor.
}
});
He escrito un método para este propósito:
public JRadioButton getSelectedButton(DefaultTableModel model, int selectedRow) {
String selectedButton = (String) model.getValueAt(selectedRow,3);
UpdateCar updatePage = new UpdateCar();
if(selectedButton.equals("Automatico")) {
return updatePage.rdbtnAutomatic;
}else {
return updatePage.rdbtnManuel;
}
}
davy.ai
Explicación del código para enviar datos a un JFrame utilizando un botón y seleccionando botones de opción
En el código proporcionado, el botón
btnUpdateCar
se ha asociado a unActionListener
que escucha cualquier acción realizada sobre él. Cuando el usuario hace clic en el botón, se invoca el métodoactionPerformed
.Dentro del método
actionPerformed
, se crea una nueva instancia de la claseUpdateCar
, que muestra elJFrame
llamadoUpdateCar
. La variableselectedRow
se utiliza para obtener la fila seleccionada en una tabla.Después de obtener la fila seleccionada, se llama al método
getSelectedButton
, que toma dos argumentos:DefaultTableModel
yselectedRow
. Este método obtiene el valor de la tercera columna de la fila seleccionada y lo asigna a la variableselectedButton
.Si el valor de
selectedButton
esAutomático
, entonces se selecciona el botón de opción llamadordbtnAutomatic
dentro delbuttonGroup
en el JFrameUpdateCar
. De lo contrario, si el valor esManual
, se selecciona el botón de opción llamadordbtnManuel
.Es importante tener en cuenta que en el código proporcionado, el método
getSelectedButton
crea una nueva instancia de la claseUpdateCar
nuevamente. Esto no es necesario, ya que la instanciaupdatePage
ya ha sido creada anteriormente en el métodoactionPerformed
.