(मैं इसे एक पूर्ण उत्तर के रूप में उत्तर दे रहा हूं और कुछ कोड शामिल होने के बाद से कोई टिप्पणी नहीं है) शायद मुझे देर हो चुकी है, लेकिन आपने बीबीबी का उपयोग करके थोड़ा सा उदाहरण मांगा है, इसलिए यहां कोड का एक छोटा टुकड़ा है जो आप कर सकते हैं उपयोगी पाते हैं:
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);
मेरे अनुभव से, सीखना आनुपातिक रूप से कठिन है क्योंकि यह सीखने के बाद हास्यास्पद रूप से आसान कैसे हो जाता है। मुझे पता है कि दस्तावेज बहुत अच्छा नहीं है, लेकिन 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 पर एक नज़र डालने और कुछ आत्म शिक्षण उदाहरणों ने मुझे बर्बाद घंटों से बचा लिया है। बीबीबी के अलावा जेजीडीज बाइंडिंग भी हैं जिन्हें मैंने व्यक्तिगत रूप से नहीं देखा है।
स्रोत
2013-02-27 18:29:43
हाँ, यह वास्तव में जावा का एक बड़ा नुकसान है, अगर आप एक स्विंग डेस्कटॉप एप्लिकेशन लिखते हैं। डेटा बाध्यकारी के लिए सबसे अच्छा lib बीबीबी (बेहतर बीन बाइंडिंग) है, लेकिन इसका कोई पूर्ण उदाहरण नहीं है कि हम इसका उपयोग कैसे कर सकते हैं। मैं वास्तव में जावा में निराश और निराश हूँ। –
क्या आप स्विंग से बंधे हैं? – assylias
असल में, मैं इससे जुड़ा नहीं हूं, लेकिन मैं जावाएफएक्स से बिल्कुल परिचित नहीं हूं और मुझे लगता है कि जावाएफएक्स पर बिल्डिंग यूआई स्विंग पर उतना आसान नहीं है। अगर मैं गलत हूं, तो कृपया मुझे सही करें। और बीटीडब्ल्यू, क्या कोई जावाएफएक्स यूआई बिल्डर्स है? –