Page 1 of 1

Swing και Eclipse

Posted: Fri Sep 26, 2008 7:05 pm
by rapadder
Θέλω να φτιάξω γραφικές διεπαφές και έχω να επιλέξω μεταξύ του SWT του NetBeans και του Swing που υποστηρίζεται από την κοινότητα του Eclipse. Έπειτα απο λίγο google search είδα ότι η swing γενικά θεωρείται καλύτερη τεχνολογία και νομίζω ότι ταιριάζει πιο καλά στην περίπτωση μου. Το θέμα είναι ότι γράφοντας κώδικα στο NetBeans είχα συνηθίσει το gui που υπάρχει για το SWT. Παίρνεις το jΤextBox, το πετάς στο JPanel, κάνεις resize και προεπισκόπηση και όλα τα συναφή καλούδια. Τώρα με το Eclipse δεν υπάρχει αντίστοιχος gui builder και πρέπει να γράφω τον κώδικα με το χέρι. Ή μήπως κάνω λάθος; Έχετε να προτείνετε κάποιον (δωρεάν) gui builder για το Swing;

Re: Swing και Eclipse

Posted: Fri Sep 26, 2008 7:08 pm
by ultimate_aektzis
Οταν εψαχνα για gui builder στο eclipse μου ειχαν προτεινει το jigloo.δεν ξερω αν βοηθαω.Η αληθεια ειναι οτι τελικα δεν τον χρησιμοποιησα :oops:

Re: Swing και Eclipse

Posted: Fri Sep 26, 2008 7:10 pm
by rapadder
Γρήγορη απάντηση! Θα το δοκιμάσω. Ελπίζω να βρώ κάτι γιατί άμα είναι να γράψω κάθε παραθυράκι με κώδικα άστα να πάνε. Τα καλά νέα είναι ότι υπάρχει αντίστοιχος builder στο NetBeans. Παραθέτω και ένα screenshot:

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

Re: Swing και Eclipse

Posted: Fri Sep 26, 2008 10:11 pm
by cyberpython
rapadder wrote:Πάντως μου κάνει μεγάλη εντύπωση να μην υπάρχει κάτι αντίστοιχο στο Eclipse...

Το eclipse έχει εργαλείο σχεδιασμού GUI (Visual Editor Project -> για SWT τουλάχιστον δουλεύει σίγουρα, όλο τον Αϋγουστο το χρησιμοποιούσα), δε ξέρω αν υποστηρίζει όμως Swing. Δες εδώ: http://www.eclipse.org/vep/WebContent/main.php
Edit: Δουλεύει και για Swing : δες εδώ -> http://www.ibm.com/developerworks/opens ... -ecvisual/

Re: Swing και Eclipse

Posted: Sat Sep 27, 2008 3:08 pm
by rose
rapadder wrote:Γρήγορη απάντηση! Θα το δοκιμάσω. Ελπίζω να βρώ κάτι γιατί άμα είναι να γράψω κάθε παραθυράκι με κώδικα άστα να πάνε. Τα καλά νέα είναι ότι υπάρχει αντίστοιχος builder στο NetBeans. Παραθέτω και ένα screenshot:

ImageImage

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


Δεν είμαι σίγουρος....
http://www.cloudgarden.com/jigloo/index.html
Βασικά δεν ξέρω...αν και εχω την εντύπωση οτι κάτι εχει πάρει το μάτι μου...Αλλα σε γενικές γραμμές αυτά τα εργαλεία ειναι για prototyping...Το ζητούμενο είναι να γράφεις γενικές, reusable δομές όπου το logic θα χαρακτηρίζεται ώς abstract, ετσι προφανώς δεν θα γράφεις ξανα και ξανά...Τα visual studio δεν θα σου δώσουν περιθώρια ευελιξίας.

Re: Swing και Eclipse

Posted: Sat Sep 27, 2008 3:53 pm
by cyberpython
cyberpython wrote:Το eclipse έχει εργαλείο σχεδιασμού GUI (Visual Editor Project -> για SWT τουλάχιστον δουλεύει σίγουρα, όλο τον Αϋγουστο το χρησιμοποιούσα), δε ξέρω αν υποστηρίζει όμως Swing.


Ο Visual Editor του Eclipse υποστηρίζει και Swing/AWT (μόλις το δοκίμασα):

ImageImage

Re: Swing και Eclipse

Posted: Tue Sep 30, 2008 2:55 pm
by rapadder
Το εγκατέστησα και όλα είμαι μια χαρά (αν και δεν "βλέπει" φόρμα που δεν έχει οριστεί από αυτό). Θέλω τώρα να κάνω κάτι άλλο. Θα το περιγράψω όσο πιο καλά μπορώ. Έχω μια διεργασία που αποτελείται από 4 υποεργασίες, τις Α, Β, C και D. Αυτές εκτελούνται διαδοχικά, δηλαδή πρώτα η A, μετά η Β, έπειτα η C και τέλος η D.

Image

Αυτό που θέλω είναι:

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

Όλα αυτά σε Java. Ξεκινώντας από την SWT, νομίζω ότι δεν μπορώ να χρησιμοποιήσω κάτι έτοιμο.

Re: Swing και Eclipse

Posted: Tue Sep 30, 2008 9:45 pm
by cyberpython
Μπορείς να ξεκινήσεις με βάση το (JPanel σε Swing) ή το Composite (σε SWT) και να προσθέσεις τη λειτουργικότητα που επιθυμείς.
Π.χ. ένα JPanel που όταν κληθεί μία μέθοδος αλλάζει χρώμα. Για τα μενού θα πρέπει πρώτα να κατασκευάσεις ένα JPopupMenu (Swing) ή ένα Menu με POP_UP style (SWT) και μετά να το αναθέσεις στο αντικείμενό σου.

Επίσης, σαν toolkit μπορείς να χρησιμοποιήσεις και το QT (ο GUI Designer υποστηρίζει και Eclipse integration)

Re: Swing και Eclipse

Posted: Mon Oct 06, 2008 10:45 am
by rapadder
Αν και λίγο off-topic, δεν μπόρεσα να μπώ στον πειρασμό να μην κάνω post. Βρήκα σε ένα Πανεπιστήμιο ενα μάθημα Introduction to User Interface Software. Περιέχει εξαιρετικά χρήσιμες διαφάνειες για τον σχεδιασμό γραφικών διεπαφών.

Re: Swing και Eclipse

Posted: Mon Oct 06, 2008 11:30 am
by cyberpython
rapadder wrote:Αν και λίγο off-topic, δεν μπόρεσα να μπώ στον πειρασμό να μην κάνω post. Βρήκα σε ένα Πανεπιστήμιο ενα μάθημα Introduction to User Interface Software. Περιέχει εξαιρετικά χρήσιμες διαφάνειες για τον σχεδιασμό γραφικών διεπαφών.


Ιδιαίτερο ενδιαφέρον έχει ο τρόπος εξέτασης και βαθμολόγησης των φοιτητών που παρακολουθούν του μάθημα, που γίνεται καθ' όλη τη διάρκεια του εξαμήνου και το τελικό διαγώνισμα (για όσους ισχύει) παίζει σχετικά μικρό ρόλο στη διαμόρφωση του τελικού βαθμού - δυστυχώς εμείς ακόμα προσπαθούμε να καταλάβουμε γιατί εδώ επικρατεί η "στεγνή" αποστήθιση και η παπαγαλία... :smt021

Re: Swing και Eclipse

Posted: Mon Oct 06, 2008 11:57 am
by ultimate_aektzis
Αν οι συγκεκριμενες μεθοδοι εφαρμοζονται πανω απο 10 χρονια εξω εχουμε ελπιδες να το προλαβουμε

Re: Swing και Eclipse

Posted: Mon Oct 06, 2008 1:15 pm
by rose
rapadder wrote:Το εγκατέστησα και όλα είμαι μια χαρά (αν και δεν "βλέπει" φόρμα που δεν έχει οριστεί από αυτό). Θέλω τώρα να κάνω κάτι άλλο. Θα το περιγράψω όσο πιο καλά μπορώ. Έχω μια διεργασία που αποτελείται από 4 υποεργασίες, τις Α, Β, C και D. Αυτές εκτελούνται διαδοχικά, δηλαδή πρώτα η A, μετά η Β, έπειτα η C και τέλος η D.

Image

Αυτό που θέλω είναι:

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

Όλα αυτά σε Java. Ξεκινώντας από την SWT, νομίζω ότι δεν μπορώ να χρησιμοποιήσω κάτι έτοιμο.




Sorry αλλα δεν κατάλαβα το πρόβλημα σου, αν έχεις θέμα ξαναπόσταρε, ίσως μπορώ να βοηθήσω.

Re: Swing και Eclipse

Posted: Tue Oct 14, 2008 4:21 pm
by rapadder
Μπά, δεν χρειάζεται. Λοιπόν, έχω μια άλλη απορία. Με τον παρακάτω κώδικα:

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);
    }   
}

φτιάχνω μια toolbar με δυό κουμπιά:
Image
Αυτό που συμβαίνει είναι να εμφανίζεται το πρώτο προεπιλεγμένο και δεν θέλω. Πώς γίνεται να μην εμφανίζεται προεπιλεγμένο;

Re: Swing και Eclipse

Posted: Tue Oct 14, 2008 5:31 pm
by rose
button.setFocusable(false); Γιατί όμως να έχει default focus; Τεσπα.

Re: Swing και Eclipse

Posted: Wed Oct 15, 2008 11:02 am
by rapadder
Πράγματι. Ευχαριστώ rose.