Foro sobre Java SE > Problema en ABM
No se puede convertir un boolean en un String. Puedes usar una variable de tipo String que toma uno u otro valor, dependiendo de la selección del RadioButton.
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
<p>
@author Carlos Hoces
*/
public class NewJFrame extends javax.swing.JFrame {
private String radioSeleccion;
/** Creates new form NewJFrame */
public NewJFrame() {
initComponents();
jRadioButton1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
radioSeleccion = jRadioButton1.getText();
System.out.println("selecionado: " + radioSeleccion);
}
});
jRadioButton2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
radioSeleccion = jRadioButton2.getText();
System.out.println("selecionado: " + radioSeleccion);
}
});
}
/** This method is called from within the constructor to
initialize the form.
WARNING: Do NOT modify this code. The content of this method is
always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
buttonGroup2 = new javax.swing.ButtonGroup();
jRadioButton1 = new javax.swing.JRadioButton();
jRadioButton2 = new javax.swing.JRadioButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
buttonGroup2.add(jRadioButton1);
jRadioButton1.setText("Masculino");
buttonGroup2.add(jRadioButton2);
jRadioButton2.setText("Femenino");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jRadioButton2)
.addComponent(jRadioButton1))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jRadioButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jRadioButton2)
.addContainerGap())
);
pack();
}// </editor-fold>
/**
@param args the command line arguments
*/
public static void main(String args[]) {
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new NewJFrame().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.ButtonGroup buttonGroup2;
private javax.swing.JRadioButton jRadioButton1;
private javax.swing.JRadioButton jRadioButton2;
// End of variables declaration
}
Puedes reemplazar una selección en un JTextArea con este método de JTextComponent:
http://docs.oracle.com/javase/8/docs/api/javax/swing/text/JTextComponent.html#replaceSelection-java.lang.String-
JTextaArea textArea = new JTextArea("Reemplazar un texto seleccionado");
// se selecciona un texto dentro del JTextArea
textArea .replaceSelection("");
Gracias, lo voy a poner en practica
Buenas, tengo esta dificultad: En un JFrame tengo los datos correspondientes para la ABM de pacientes, uno de los atributos de paciente, es el sexo, en cual yo coloque dos radioButton uno con Masculino y otro con Femenino, mi problema radica en que cuando quiero dar de alta un nuevo paciente, no se cómo debo convertir lo seleccionado en cualquiera de los dos radibutton para pasarlo a un string (la base de datos la hice en SQL Server, y la tabla pacientes tiene el campo "Sexo" establecido a varchar).
Y la otra seria, que cuando quiero hacer una baja o eliminacion del paciente: Los datos los quiero mostrar en un TextArea, pero cómo hago para indicar que solo debe eliminar, lo que está seleccionado en el textArea?
Se hacerlo en el JTable, pero son tantos los atributos que tiene, que se hace una tabla muy grande, con respecto a las columnas y supongo que debe ser mas facil en el TextArea.
Gracias.