Ημερομηνία Σάβ Μάιος 11, 2024 8:50 am

4η ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ 2011 - 2012

Προβολή ενεργών θεμάτων

Όλοι οι χρόνοι είναι UTC + 2 ώρες


Κλειδωμένη Δ. Συζήτηση Αυτό το θέμα είναι κλειδωμένο, δεν μπορείτε να επεξεργαστείτε δημοσιεύσεις ή να δημοσιεύσετε άλλες απαντήσεις  [ 130 δημοσιεύσεις ]  Μετάβαση στην σελίδα Προηγούμενη  1 ... 9, 10, 11, 12, 13
Συγγραφέας Μήνυμα
 ΔημοσίευσηΔημοσιεύτηκε: Πέμ Απρ 05, 2012 11:11 am   
Άβαταρ μέλους

Εγγραφη: Δευτ Νοέμ 14, 2011 6:10 pm
Δημοσ.: 54
Τοποθεσια: Αθήνα
Για το datemodel στο datespinner μου δουλεύει κανονικά. Αν μπορούσες να ανεβάσεις το κομμάτι του κώδικα που έχει το πρόβλημα ίσως μπορέσω να σε βοηθήσω. Επίσης δοκίμασε να τρέξεις την εφαρμογή με debug, και βάλε ένα breakpoint στη γραμμή που πετάει το exception. Το eclipse έχει πολύ καλό debug, όπου μπορείς να δεις τις τιμές όλων των μεταβλητών εκείνη τη στιγμή, κτλ οπότε μπορείς να βγάλεις άκρη πιο εύκολα.
Τώρα για το σενάριο εγώ έκανα κάμποσες παραδοχές τις οποίες τις έγραψα στην άσκηση, αφού το σενάριο είναι πολύ ασαφές. Οπότε είπα για παράδειγμα αφού περνάει τόση ώρα και η θερμοκρασία ανεβαίνει με αυτό το ρυθμό βάλε τη θερμοκρασία τόσο, το χρόνο τόσο κτλ και βάζοντας αυτές τις τιμές ενεργοποιείται ο θερμοσίφωνας (από τον enactor), κτλ.


Κορυφή
 Προφίλ  
 ΔημοσίευσηΔημοσιεύτηκε: Πέμ Απρ 05, 2012 12:37 pm   

Εγγραφη: Παρ Οκτ 15, 2010 8:44 pm
Δημοσ.: 248
Τοποθεσια: Πάτρα
Καλά, από παραδοχές άλλο τίποτα! Κι εγώ γενικά έχω κάνει πολλές. Το θέμα είναι ότι και πάλι, δεν μπορώ να το καταφέρω να κάνει έστω κάτι... Σου παραθέτω τον κώδικά μου στο κομμάτι που αφορά το DateModel μήπως και δεις κάτι που εγώ δε βλέπω. Αλλιώς δεν ξέρω τι να κάνω, έχω απελπιστεί... :(
Κώδικας:
add(timeSpinner = new JSpinner(new SpinnerDateModel(new Date(date), null, null, Calendar.HOUR_OF_DAY)) {{
            
            JFormattedTextField tf = ((JSpinner.DefaultEditor) timeSpinner.getEditor()).getTextField();
             DefaultFormatterFactory factory = (DefaultFormatterFactory) tf.getFormatterFactory();
             DateFormatter formatter = (DateFormatter) factory.getDefaultFormatter();

             formatter.setFormat(new SimpleDateFormat("hh:mm"));
            tf.setForeground(Color.black);
            setFont(getFont().deriveFont(fontSize));
            
            addChangeListener(new ChangeListener() {
               @Override
               public void stateChanged(ChangeEvent evt) {
               int time = (Integer) timeSpinner.getValue();
               System.out.println(time);
               inputWidget.updateData("currTime", time);
                  
               }
            });
            
         }});

Μια εναλλακτική, η οποία πάλι βγάζει NullPointerException στην ίδια γραμμή είναι:
Κώδικας:
add(timeSpinner = new JSpinner(new SpinnerDateModel(new Date(date), null, null, Calendar.HOUR_OF_DAY)) {{
            String format = "hh:mm";
            final JSpinner.DateEditor editor = new JSpinner.DateEditor(timeSpinner, format);
            timeSpinner.setEditor(editor);
            final JFormattedTextField tf = editor.getTextField();
            tf.setForeground(Color.black);
            setFont(getFont().deriveFont(fontSize));
            
            addChangeListener(new ChangeListener() {
               @Override
               public void stateChanged(ChangeEvent evt) {
               int time = (Integer) timeSpinner.getValue();
               System.out.println(time);
               inputWidget.updateData("currTime", time);
                  
               }
            });
            
         }});


Κορυφή
 Προφίλ  
 ΔημοσίευσηΔημοσιεύτηκε: Πέμ Απρ 05, 2012 2:07 pm   
Άβαταρ μέλους

Εγγραφη: Δευτ Νοέμ 14, 2011 6:10 pm
Δημοσ.: 54
Τοποθεσια: Αθήνα
Wazka έγραψε:
Καλά, από παραδοχές άλλο τίποτα! Κι εγώ γενικά έχω κάνει πολλές. Το θέμα είναι ότι και πάλι, δεν μπορώ να το καταφέρω να κάνει έστω κάτι... Σου παραθέτω τον κώδικά μου στο κομμάτι που αφορά το DateModel μήπως και δεις κάτι που εγώ δε βλέπω. Αλλιώς δεν ξέρω τι να κάνω, έχω απελπιστεί... :(


Και στις 2 παραδοχές δεν λες τι είναι το date. Long, String, Date?
Πάντως το exception που σου πετάει είναι επειδή πριν κατασκευάσεις τον timeSpinner (είσαι ακόμα την ώρα που το ορίζεις το χρησιμοποιείς για να ορίσεις το DateEditor. Όμως εκείνη τη στιγμή το timeSpinner είναι ακόμα null. Άρα λογικά παίρνεις nullPointerException.
Έτσι σου παραθέτω με μικρές αλλαγές τον κώδικά σου καθώς και ένα άλλο παράδειγμα που πιστεύω είναι λίγο καλύτερο. Πάντως όπως και να έχει επειδή το spinner χειρίζεται πλέον date θα πρέπει να παίρνεις date και μετά είτε να ορίσεις τον χρόνο σου στο widget ως long (date δεν το χειρίζεται το δοκίμασα) είτε να μετατρέψεις το date σε string, να πάρεις το νούμερο της ώρας και των λεπτών και να τα κάνεις integers και να τα βάλεις στις αντίστοιχες μεταβλητές.

Κώδικας:
add(timeSpinner = new JSpinner(new SpinnerDateModel(new Date(), null, null, Calendar.HOUR_OF_DAY)) {{
            setFont(getFont().deriveFont(fontSize));
            addChangeListener(new ChangeListener() {
               @Override
               public void stateChanged(ChangeEvent evt) {
               long time = ((Date) timeSpinner.getValue()).getTime();
               System.out.println(time);
               inputWidget.updateData("currTime", time);
               }
            });
         }});
      JFormattedTextField tf = ((JSpinner.DefaultEditor) timeSpinner.getEditor()).getTextField();
        DateFormat formatter = new SimpleDateFormat("HH:mm");
        tf.setForeground(Color.black);


Κώδικας:
add(timeSpinner = new JSpinner(new SpinnerDateModel(new Date(), null, null, Calendar.HOUR_OF_DAY)) {{
            setFont(getFont().deriveFont(fontSize));
            addChangeListener(new ChangeListener() {
               @Override
               public void stateChanged(ChangeEvent evt) {
               long time = ((Date) timeSpinner.getValue()).getTime();
               DateFormat formatter = new SimpleDateFormat("HH:mm");
               String timeInString = formatter.format(time);
               System.out.println(timeInString);
               System.out.println("hours:" + Integer.parseInt(timeInString.substring(0,2)));
               System.out.println("minutes:" + Integer.parseInt(timeInString.substring(3,5)));
               inputWidget.updateData("time", time);
               }
            });
           
         }});
      String format = "hh:mm";
      final JSpinner.DateEditor editor = new JSpinner.DateEditor(timeSpinner, format);
        timeSpinner.setEditor(editor);
        final JFormattedTextField tf = editor.getTextField();
        tf.setForeground(Color.black);


Κώδικας:
      add(timeSpinner = new JSpinner(new SpinnerDateModel(new Date(), null, null, Calendar.HOUR_OF_DAY)){
         {
            addChangeListener(new ChangeListener() {
               @Override
               public void stateChanged(ChangeEvent evt) {
                  long time = ((Date)timeSpinner.getValue()).getTime();
                  inputWidget.updateData("currTime", time);
                  System.out.println("time: " + new SimpleDateFormat("HH:mm").format(time));
               }
            });
            setEditor(new JSpinner.DateEditor(this, "HH:mm"));
         }
      });
      
      long time = ((Date)timeSpinner.getValue()).getTime();//in order to initialize widget
      inputWidget.updateData("currTime", time);//in order to initialize widget


Λογικά και τα 3 λειτουργούν σωστά.


Τελευταία επεξεργασία απο taghor την Πέμ Απρ 05, 2012 2:19 pm, επεξεργάστηκε 1 φορές συνολικά.

Κορυφή
 Προφίλ  
 ΔημοσίευσηΔημοσιεύτηκε: Πέμ Απρ 05, 2012 2:11 pm   

Εγγραφη: Παρ Οκτ 15, 2010 8:44 pm
Δημοσ.: 248
Τοποθεσια: Πάτρα
Σ' ευχαριστώ πολύ και πάλι, που αφιέρωσες το χρόνο και ασχολήθηκες!! :)
Το date το έχω δηλώσει ως long λίγες γραμμές πιο πάνω, εκεί που δηλώνω μεταβλητές.
Δεν έχω δοκιμάσει τίποτα από αυτά που μου έστειλες. Πάω να το κάνω ΤΩΡΑ!!


Κορυφή
 Προφίλ  
 ΔημοσίευσηΔημοσιεύτηκε: Πέμ Απρ 05, 2012 11:06 pm   

Εγγραφη: Τρί Μαρ 09, 2010 4:55 pm
Δημοσ.: 106
Τοποθεσια: Ηράκλειο
Καλησπέρα σας.

Μπορεί κάποιος να μου εξηγήσει μήπως τι αναπαριστά η "Έξοδος" στο "Σύστημα Ειδοποίησης" στο προτεινόμενο interface που μας έχει δωθεί?


Κορυφή
 Προφίλ  
 ΔημοσίευσηΔημοσιεύτηκε: Πέμ Απρ 26, 2012 12:32 pm   

Εγγραφη: Πέμ Δεκ 22, 2011 12:52 am
Δημοσ.: 13
"Endeiktikes Apantiseis 4is Ergasias"

Kalispera :) Kserei kaneis pou mporo na tis do;


Κορυφή
 Προφίλ  
 ΔημοσίευσηΔημοσιεύτηκε: Πέμ Απρ 26, 2012 1:32 pm   
Άβαταρ μέλους

Εγγραφη: Δευτ Νοέμ 14, 2011 6:10 pm
Δημοσ.: 54
Τοποθεσια: Αθήνα
Δε νομίζω ότι έχουν βγει. Στο ΑΘΗ-1 ακόμα δεν έχει βγάλει ούτε βαθμούς δηλαδή. Γενικώς η ενασχόληση των καθηγητών με την ενότητα πάσχει σοβαρά...


Κορυφή
 Προφίλ  
 ΔημοσίευσηΔημοσιεύτηκε: Παρ Μάιος 04, 2012 3:57 pm   
Άβαταρ μέλους

Εγγραφη: Δευτ Νοέμ 14, 2011 6:10 pm
Δημοσ.: 54
Τοποθεσια: Αθήνα
Ξέρει κανείς αν έχουν βγει βαθμοί για την 4η Γ.Ε.; Έχει περάσει ένας μήνας που την παραδώσαμε και ακόμα τίποτα...


Κορυφή
 Προφίλ  
 ΔημοσίευσηΔημοσιεύτηκε: Παρ Μάιος 04, 2012 5:57 pm   

Εγγραφη: Τρί Αύγ 17, 2010 1:11 pm
Δημοσ.: 427
Τοποθεσια: Αθήνα
Και γιατί δεν παραπονιέστε βρε παιδιά και δεν στέλνετε κάποιο mail;

_________________
Εικόνα


Κορυφή
 Προφίλ  
 ΔημοσίευσηΔημοσιεύτηκε: Κυρ Μάιος 27, 2012 2:38 pm   

Εγγραφη: Πέμ Δεκ 22, 2011 12:52 am
Δημοσ.: 13
Kat'arxas, s'euxaristo k.Galati! Exei paratirisei kaneis pou eine autes oi endeiktikes?
euxaristo ek twn proterwn


Κορυφή
 Προφίλ  
Τελευταίες δημοσιεύσεις:  Ταξινόμηση κατά  
Κλειδωμένη Δ. Συζήτηση Αυτό το θέμα είναι κλειδωμένο, δεν μπορείτε να επεξεργαστείτε δημοσιεύσεις ή να δημοσιεύσετε άλλες απαντήσεις  [ 130 δημοσιεύσεις ]  Μετάβαση στην σελίδα Προηγούμενη  1 ... 9, 10, 11, 12, 13

Όλοι οι χρόνοι είναι UTC + 2 ώρες


Μελη σε συνδεση

Μέλη σε αυτή την Δ. Συζήτηση : Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης


Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση

Αναζήτηση για:
Μετάβαση σε:  
cron


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group •
Μετάφραση Jorfan και phpBB2.gr
Style originally created by Volize © 2003 • Redesigned SkyLine by MartectX © 2008 - 2009