Swing Programming question.
Posted: Sun Dec 18, 2005 6:52 pm
Σε προηγουμενες εργασιες που εκανα java gui παρατηρησα οτι ελυνα καποια προσωρινα προβλημα με ασχημο τροπο.Οχι τελειως ασχημο ,χρηση Singleton πολυ.Καποιοι αλλες λυσεις που εδινα βγαζουν ματι οτι ερασιτεχνικες και εκτος κλιματος με το swing το οποιο δουλευει με πιο σοφιστικε τροπο.
Εχω τη εξης απορια.Ξεκινωντας απο την απαιτηση μου να ΜΗΝ φτιαχνω δικες μου κλασεις για panels ,ή οτιδηποτε αλλο θελω, για να τους περναω πχ σε κατασκευαστη τα components που θα μπορουν να εππηρεαζουν (πχ ενα status label στην τρεχα γυρευε κατω δεξια γωνια που ειναι μελος αλλου container), ΠΟΙΟΣ ειναι ο σωστος τροπος ΟΛΑ να εχουν access σε ΟΛΑ?
Μια σκεψη μου ειναι να σωζω τα models (πχ DefaultListModel ή ποιο απλα το text ενος Label) ολων των components που μπορουν να αλλαζουν σε μια Singleton κλαση.Σαν προεκταση σκεφτηκα (επειδη τα components που τους σωζω τα models δεν χρειαζεται να πηγαινουν στη singleton κλαση και να περνουν την τιμη τους καθε φορα μιας και αλλαγη στο model σημαινει και invokation μεθοδου fireContentsChanged η κατι παρομοιο) για τα components που σωζω την τιμη τους ξερα (πχ ενα String και οχι model) να κανω την singleton κλαση και Observable (observer pattern) και αυτα observers και να τους καλω την update.
Ειναι λογικο σαν σκεψη?Συμβαδιζει καθολου με τον τροπο προγραμματισμου που προτασει το swing η ειναι τελειως μπακαλικο?Αν ναι ποια λυση ενδυκνειται για μενα?
Thanx
Y.Γ : Για components που δεν εχει defaultmodel implemented η java πως να φτιαξω δικο μου model?Το ρωταω διοτι ετσι αποφευγω να παιξω με oberver pattern και γλυτωνω κωδικα στη singleton κλαση αλλα ΚΑΙ κωδικα να φτιαξω δικες μου κλασεις για αυτα components ωστε να τους κανω implement το Observer Interface.
Y.Γ 2 : Αλλη μια αναγκη ειναι να γινονται disabled καποια menuitems αναλογα με την κατασταση που βρισκεται η εφαρμογη.Να τα κανω ενα ενα πρεπει να ειναι ασχημη υλοποιηση.
Εχω τη εξης απορια.Ξεκινωντας απο την απαιτηση μου να ΜΗΝ φτιαχνω δικες μου κλασεις για panels ,ή οτιδηποτε αλλο θελω, για να τους περναω πχ σε κατασκευαστη τα components που θα μπορουν να εππηρεαζουν (πχ ενα status label στην τρεχα γυρευε κατω δεξια γωνια που ειναι μελος αλλου container), ΠΟΙΟΣ ειναι ο σωστος τροπος ΟΛΑ να εχουν access σε ΟΛΑ?
Μια σκεψη μου ειναι να σωζω τα models (πχ DefaultListModel ή ποιο απλα το text ενος Label) ολων των components που μπορουν να αλλαζουν σε μια Singleton κλαση.Σαν προεκταση σκεφτηκα (επειδη τα components που τους σωζω τα models δεν χρειαζεται να πηγαινουν στη singleton κλαση και να περνουν την τιμη τους καθε φορα μιας και αλλαγη στο model σημαινει και invokation μεθοδου fireContentsChanged η κατι παρομοιο) για τα components που σωζω την τιμη τους ξερα (πχ ενα String και οχι model) να κανω την singleton κλαση και Observable (observer pattern) και αυτα observers και να τους καλω την update.
Ειναι λογικο σαν σκεψη?Συμβαδιζει καθολου με τον τροπο προγραμματισμου που προτασει το swing η ειναι τελειως μπακαλικο?Αν ναι ποια λυση ενδυκνειται για μενα?
Thanx
Y.Γ : Για components που δεν εχει defaultmodel implemented η java πως να φτιαξω δικο μου model?Το ρωταω διοτι ετσι αποφευγω να παιξω με oberver pattern και γλυτωνω κωδικα στη singleton κλαση αλλα ΚΑΙ κωδικα να φτιαξω δικες μου κλασεις για αυτα components ωστε να τους κανω implement το Observer Interface.
Y.Γ 2 : Αλλη μια αναγκη ειναι να γινονται disabled καποια menuitems αναλογα με την κατασταση που βρισκεται η εφαρμογη.Να τα κανω ενα ενα πρεπει να ειναι ασχημη υλοποιηση.