(Estoy respondiendo esto como una respuesta completa y no un comentario ya que hay algún código incluido) Tal vez llego tarde, pero me pediste un pequeño ejemplo usando BBB así que aquí hay un pequeño código que podrías serle de utilidad:
public static final Property<PatientModel, Long> PATIENT_MODEL_PATIENT_ID_PROPERTY_OBJECT =
BeanProperty.create(Patient.PATIENT_ID_PROPERTY);
public static final Property<PatientModel, String> PATIENT_MODEL_FIRST_NAME_PROPERTY_OBJECT =
BeanProperty.create(Patient.FIRST_NAME_PROPERTY);
public static final Property<PatientModel, String> PATIENT_MODEL_MIDDLE_NAME_PROPERTY_OBJECT =
BeanProperty.create(Patient.MIDDLE_NAME_PROPERTY);
public static final Property<PatientModel, String> PATIENT_MODEL_SURNAME_PROPERTY_OBJECT =
BeanProperty.create(Patient.SURNAME_PROPERTY);
public static final Property<PatientModel, String> PATIENT_MODEL_SECOND_SURNAME_PROPERTY_OBJECT =
BeanProperty.create(Patient.SECOND_SURNAME_PROPERTY);
public static final Property<PatientModel, Sex> PATIENT_MODEL_SEX_PROPERTY_OBJECT =
BeanProperty.create(Patient.SEX_PROPERTY);
public static final Property<PatientModel, String> PATIENT_MODEL_BIRTH_PLACE_PROPERTY_OBJECT =
BeanProperty.create(Patient.BIRTH_PLACE_PROPERTY);
public static final Property<PatientModel, Calendrical> PATIENT_MODEL_BIRTH_DATE_PROPERTY_OBJECT =
BeanProperty.create(Patient.BIRTH_DATE_PROPERTY);
public static final Property<PatientModel, Period> PATIENT_MODEL_AGE_PROPERTY_OBJECT =
BeanProperty.create(Patient.AGE_PROPERTY);
(...)
private ObservableList<PatientModel> model;
private JTable selectionTable;
(...)
JTableBinding<PatientModel, List<PatientModel>, JTable> selectionTableBinding
= SwingBindings.createJTableBinding(UpdateStrategy.READ_WRITE, this.model, this.selectionTable);
selectionTableBinding.addColumnBinding(PATIENT_MODEL_PATIENT_ID_PROPERTY_OBJECT);
selectionTableBinding.addColumnBinding(PATIENT_MODEL_FIRST_NAME_PROPERTY_OBJECT);
selectionTableBinding.addColumnBinding(PATIENT_MODEL_SURNAME_PROPERTY_OBJECT);
selectionTableBinding.addColumnBinding(PATIENT_MODEL_SEX_PROPERTY_OBJECT);
selectionTableBinding.addColumnBinding(PATIENT_MODEL_BIRTH_PLACE_PROPERTY_OBJECT);
selectionTableBinding.addColumnBinding(PATIENT_MODEL_BIRTH_DATE_PROPERTY_OBJECT);
selectionTableBinding.addColumnBinding(PATIENT_MODEL_AGE_PROPERTY_OBJECT);
Según mi experiencia, el aprendizaje es proporcionalmente tan difícil como cuán ridículamente fácil se vuelve implementarlo una vez que se aprende. Sé que la documentación no es excelente, pero echar un vistazo a http://www.jarvana.com/jarvana/view/it/tidalwave/betterbeansbinding/betterbeansbinding-swingbinding/1.3.0/betterbeansbinding-swingbinding-1.3.0-javadoc.jar!/org/jdesktop/swingbinding/JTableBinding.html y hacer algunos ejemplos de autoaprendizaje me ha ahorrado toneladas de horas desperdiciadas. Aparte de BBB también hay enlaces de JGoodies que personalmente no he probado.
Sí, eso es realmente una gran desventaja de Java, si escribes una aplicación de escritorio oscilante. La mejor lib para el enlace de datos es BBB (BetterBeanBinding), pero no hay ejemplos completos de cómo podemos usarlo. Estoy realmente frustrado y decepcionado con Java. –
¿Estás atado al columpio? – assylias
en realidad, no estoy vinculado, pero no estoy familiarizado con JavaFX en absoluto y creo que construir UI en JavaFX no es tan simple como en Swing. Si estoy equivocado, por favor, corrígeme. Y, por cierto, ¿hay constructores de UI JavaFX? –