Swing και Eclipse
- rapadder
- Gbyte level
- Posts: 1897
- Joined: Thu Jun 17, 2004 7:12 pm
- Academic status: Alumnus/a
- Gender: ♂
Swing και Eclipse
Θέλω να φτιάξω γραφικές διεπαφές και έχω να επιλέξω μεταξύ του SWT του NetBeans και του Swing που υποστηρίζεται από την κοινότητα του Eclipse. Έπειτα απο λίγο google search είδα ότι η swing γενικά θεωρείται καλύτερη τεχνολογία και νομίζω ότι ταιριάζει πιο καλά στην περίπτωση μου. Το θέμα είναι ότι γράφοντας κώδικα στο NetBeans είχα συνηθίσει το gui που υπάρχει για το SWT. Παίρνεις το jΤextBox, το πετάς στο JPanel, κάνεις resize και προεπισκόπηση και όλα τα συναφή καλούδια. Τώρα με το Eclipse δεν υπάρχει αντίστοιχος gui builder και πρέπει να γράφω τον κώδικα με το χέρι. Ή μήπως κάνω λάθος; Έχετε να προτείνετε κάποιον (δωρεάν) gui builder για το Swing;
Last edited by rapadder on Fri Sep 26, 2008 7:08 pm, edited 1 time in total.
... Γράφτε κώδικα όσο είναι καιρός ...
- ultimate_aektzis
- Wow! Terabyte level
- Posts: 6373
- Joined: Tue Nov 13, 2007 10:11 pm
- Gender: ♂
Re: Swing και Eclipse
Οταν εψαχνα για gui builder στο eclipse μου ειχαν προτεινει το jigloo.δεν ξερω αν βοηθαω.Η αληθεια ειναι οτι τελικα δεν τον χρησιμοποιησα 

Last edited by ultimate_aektzis on Fri Sep 26, 2008 7:12 pm, edited 1 time in total.
- rapadder
- Gbyte level
- Posts: 1897
- Joined: Thu Jun 17, 2004 7:12 pm
- Academic status: Alumnus/a
- Gender: ♂
Re: Swing και Eclipse
Γρήγορη απάντηση! Θα το δοκιμάσω. Ελπίζω να βρώ κάτι γιατί άμα είναι να γράψω κάθε παραθυράκι με κώδικα άστα να πάνε. Τα καλά νέα είναι ότι υπάρχει αντίστοιχος builder στο NetBeans. Παραθέτω και ένα screenshot:


Πάντως μου κάνει μεγάλη εντύπωση να μην υπάρχει κάτι αντίστοιχο στο Eclipse...


Πάντως μου κάνει μεγάλη εντύπωση να μην υπάρχει κάτι αντίστοιχο στο Eclipse...
... Γράφτε κώδικα όσο είναι καιρός ...
- cyberpython
- Mbyte level
- Posts: 654
- Joined: Wed Nov 21, 2007 8:18 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Αθηνα
- Contact:
Re: Swing και Eclipse
Το eclipse έχει εργαλείο σχεδιασμού GUI (Visual Editor Project -> για SWT τουλάχιστον δουλεύει σίγουρα, όλο τον Αϋγουστο το χρησιμοποιούσα), δε ξέρω αν υποστηρίζει όμως Swing. Δες εδώ: http://www.eclipse.org/vep/WebContent/main.phprapadder wrote: Πάντως μου κάνει μεγάλη εντύπωση να μην υπάρχει κάτι αντίστοιχο στο Eclipse...
Edit: Δουλεύει και για Swing : δες εδώ -> http://www.ibm.com/developerworks/opens ... -ecvisual/
Re: Swing και Eclipse
Δεν είμαι σίγουρος....rapadder wrote:Γρήγορη απάντηση! Θα το δοκιμάσω. Ελπίζω να βρώ κάτι γιατί άμα είναι να γράψω κάθε παραθυράκι με κώδικα άστα να πάνε. Τα καλά νέα είναι ότι υπάρχει αντίστοιχος builder στο NetBeans. Παραθέτω και ένα screenshot:
Πάντως μου κάνει μεγάλη εντύπωση να μην υπάρχει κάτι αντίστοιχο στο Eclipse...
http://www.cloudgarden.com/jigloo/index.html
Βασικά δεν ξέρω...αν και εχω την εντύπωση οτι κάτι εχει πάρει το μάτι μου...Αλλα σε γενικές γραμμές αυτά τα εργαλεία ειναι για prototyping...Το ζητούμενο είναι να γράφεις γενικές, reusable δομές όπου το logic θα χαρακτηρίζεται ώς abstract, ετσι προφανώς δεν θα γράφεις ξανα και ξανά...Τα visual studio δεν θα σου δώσουν περιθώρια ευελιξίας.
που θα πάει θα το δουμε...
- cyberpython
- Mbyte level
- Posts: 654
- Joined: Wed Nov 21, 2007 8:18 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Αθηνα
- Contact:
Re: Swing και Eclipse
- rapadder
- Gbyte level
- Posts: 1897
- Joined: Thu Jun 17, 2004 7:12 pm
- Academic status: Alumnus/a
- Gender: ♂
Re: Swing και Eclipse
Το εγκατέστησα και όλα είμαι μια χαρά (αν και δεν "βλέπει" φόρμα που δεν έχει οριστεί από αυτό). Θέλω τώρα να κάνω κάτι άλλο. Θα το περιγράψω όσο πιο καλά μπορώ. Έχω μια διεργασία που αποτελείται από 4 υποεργασίες, τις Α, Β, C και D. Αυτές εκτελούνται διαδοχικά, δηλαδή πρώτα η A, μετά η Β, έπειτα η C και τέλος η D.

Αυτό που θέλω είναι:
1. Να κάνει ο χρήστης διπλό κλίκ σε ένα κουτάκι, π.χ. το Β και να εμφανίζεται μια φόρμα (οτιδήποτε) που να περιέχει τα πεδία της υποεργασίας Β. Ο χρήστης θα μπορεί να τα συμπληρώσει κατάλληλα.
2. Αντίστοιχα, να μπορεί να επιλέξει ένα κουτάκι, να κάνει δεξί κλίκ και να επιλέξει "Εκτέλεση", "Διαγραφή" κλπ.
3. Για να μην σας πώ να αλλάζει το χρώμα του κουτιού από π.χ. μπλέ (μόλις ξεκινήσει η εκτέλεση) σε πράσινο (μόλις ολοκληρωθεί η εκτέλεση της διεργασίας).
Όλα αυτά σε Java. Ξεκινώντας από την SWT, νομίζω ότι δεν μπορώ να χρησιμοποιήσω κάτι έτοιμο.

Αυτό που θέλω είναι:
1. Να κάνει ο χρήστης διπλό κλίκ σε ένα κουτάκι, π.χ. το Β και να εμφανίζεται μια φόρμα (οτιδήποτε) που να περιέχει τα πεδία της υποεργασίας Β. Ο χρήστης θα μπορεί να τα συμπληρώσει κατάλληλα.
2. Αντίστοιχα, να μπορεί να επιλέξει ένα κουτάκι, να κάνει δεξί κλίκ και να επιλέξει "Εκτέλεση", "Διαγραφή" κλπ.
3. Για να μην σας πώ να αλλάζει το χρώμα του κουτιού από π.χ. μπλέ (μόλις ξεκινήσει η εκτέλεση) σε πράσινο (μόλις ολοκληρωθεί η εκτέλεση της διεργασίας).
Όλα αυτά σε Java. Ξεκινώντας από την SWT, νομίζω ότι δεν μπορώ να χρησιμοποιήσω κάτι έτοιμο.
... Γράφτε κώδικα όσο είναι καιρός ...
- cyberpython
- Mbyte level
- Posts: 654
- Joined: Wed Nov 21, 2007 8:18 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Αθηνα
- Contact:
Re: Swing και Eclipse
Μπορείς να ξεκινήσεις με βάση το (JPanel σε Swing) ή το Composite (σε SWT) και να προσθέσεις τη λειτουργικότητα που επιθυμείς.
Π.χ. ένα JPanel που όταν κληθεί μία μέθοδος αλλάζει χρώμα. Για τα μενού θα πρέπει πρώτα να κατασκευάσεις ένα JPopupMenu (Swing) ή ένα Menu με POP_UP style (SWT) και μετά να το αναθέσεις στο αντικείμενό σου.
Επίσης, σαν toolkit μπορείς να χρησιμοποιήσεις και το QT (ο GUI Designer υποστηρίζει και Eclipse integration)
Π.χ. ένα JPanel που όταν κληθεί μία μέθοδος αλλάζει χρώμα. Για τα μενού θα πρέπει πρώτα να κατασκευάσεις ένα JPopupMenu (Swing) ή ένα Menu με POP_UP style (SWT) και μετά να το αναθέσεις στο αντικείμενό σου.
Επίσης, σαν toolkit μπορείς να χρησιμοποιήσεις και το QT (ο GUI Designer υποστηρίζει και Eclipse integration)
- rapadder
- Gbyte level
- Posts: 1897
- Joined: Thu Jun 17, 2004 7:12 pm
- Academic status: Alumnus/a
- Gender: ♂
Re: Swing και Eclipse
Αν και λίγο off-topic, δεν μπόρεσα να μπώ στον πειρασμό να μην κάνω post. Βρήκα σε ένα Πανεπιστήμιο ενα μάθημα Introduction to User Interface Software. Περιέχει εξαιρετικά χρήσιμες διαφάνειες για τον σχεδιασμό γραφικών διεπαφών.
... Γράφτε κώδικα όσο είναι καιρός ...
- cyberpython
- Mbyte level
- Posts: 654
- Joined: Wed Nov 21, 2007 8:18 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Αθηνα
- Contact:
Re: Swing και Eclipse
Ιδιαίτερο ενδιαφέρον έχει ο τρόπος εξέτασης και βαθμολόγησης των φοιτητών που παρακολουθούν του μάθημα, που γίνεται καθ' όλη τη διάρκεια του εξαμήνου και το τελικό διαγώνισμα (για όσους ισχύει) παίζει σχετικά μικρό ρόλο στη διαμόρφωση του τελικού βαθμού - δυστυχώς εμείς ακόμα προσπαθούμε να καταλάβουμε γιατί εδώ επικρατεί η "στεγνή" αποστήθιση και η παπαγαλία...rapadder wrote:Αν και λίγο off-topic, δεν μπόρεσα να μπώ στον πειρασμό να μην κάνω post. Βρήκα σε ένα Πανεπιστήμιο ενα μάθημα Introduction to User Interface Software. Περιέχει εξαιρετικά χρήσιμες διαφάνειες για τον σχεδιασμό γραφικών διεπαφών.

- ultimate_aektzis
- Wow! Terabyte level
- Posts: 6373
- Joined: Tue Nov 13, 2007 10:11 pm
- Gender: ♂
Re: Swing και Eclipse
Αν οι συγκεκριμενες μεθοδοι εφαρμοζονται πανω απο 10 χρονια εξω εχουμε ελπιδες να το προλαβουμε
Re: Swing και Eclipse
rapadder wrote:Το εγκατέστησα και όλα είμαι μια χαρά (αν και δεν "βλέπει" φόρμα που δεν έχει οριστεί από αυτό). Θέλω τώρα να κάνω κάτι άλλο. Θα το περιγράψω όσο πιο καλά μπορώ. Έχω μια διεργασία που αποτελείται από 4 υποεργασίες, τις Α, Β, C και D. Αυτές εκτελούνται διαδοχικά, δηλαδή πρώτα η A, μετά η Β, έπειτα η C και τέλος η D.
Αυτό που θέλω είναι:
1. Να κάνει ο χρήστης διπλό κλίκ σε ένα κουτάκι, π.χ. το Β και να εμφανίζεται μια φόρμα (οτιδήποτε) που να περιέχει τα πεδία της υποεργασίας Β. Ο χρήστης θα μπορεί να τα συμπληρώσει κατάλληλα.
2. Αντίστοιχα, να μπορεί να επιλέξει ένα κουτάκι, να κάνει δεξί κλίκ και να επιλέξει "Εκτέλεση", "Διαγραφή" κλπ.
3. Για να μην σας πώ να αλλάζει το χρώμα του κουτιού από π.χ. μπλέ (μόλις ξεκινήσει η εκτέλεση) σε πράσινο (μόλις ολοκληρωθεί η εκτέλεση της διεργασίας).
Όλα αυτά σε Java. Ξεκινώντας από την SWT, νομίζω ότι δεν μπορώ να χρησιμοποιήσω κάτι έτοιμο.
Sorry αλλα δεν κατάλαβα το πρόβλημα σου, αν έχεις θέμα ξαναπόσταρε, ίσως μπορώ να βοηθήσω.
που θα πάει θα το δουμε...
- rapadder
- Gbyte level
- Posts: 1897
- Joined: Thu Jun 17, 2004 7:12 pm
- Academic status: Alumnus/a
- Gender: ♂
Re: Swing και Eclipse
Μπά, δεν χρειάζεται. Λοιπόν, έχω μια άλλη απορία. Με τον παρακάτω κώδικα:
φτιάχνω μια toolbar με δυό κουμπιά:
Αυτό που συμβαίνει είναι να εμφανίζεται το πρώτο προεπιλεγμένο και δεν θέλω. Πώς γίνεται να μην εμφανίζεται προεπιλεγμένο;
Code: Select all
import java.awt.BorderLayout;
import java.awt.Container;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JToolBar;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class [b]ToolBarSample [/b]
{
public static void main(final String args[])
{
[i] // Set windows look and feel
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (ClassNotFoundException ex) {
Logger.getLogger(Dialog.class.getName()).log(Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
Logger.getLogger(Dialog.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(Dialog.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(Dialog.class.getName()).log(Level.SEVERE, null, ex);
}[/i]
JFrame frame = new JFrame("JToolBar Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JToolBar toolbar = new JToolBar();
toolbar.setRollover(true);
JButton button = new JButton("button");
toolbar.add(button);
toolbar.addSeparator();
toolbar.add(new JButton("button 2"));
Container contentPane = frame.getContentPane();
contentPane.add(toolbar, BorderLayout.NORTH);
frame.setSize(350, 150);
frame.setVisible(true);
}
}

Αυτό που συμβαίνει είναι να εμφανίζεται το πρώτο προεπιλεγμένο και δεν θέλω. Πώς γίνεται να μην εμφανίζεται προεπιλεγμένο;
... Γράφτε κώδικα όσο είναι καιρός ...
Re: Swing και Eclipse
button.setFocusable(false); Γιατί όμως να έχει default focus; Τεσπα.
που θα πάει θα το δουμε...