όταν λέει "Η τιμη του δίνεται αυτόματα από το σύστημα" π.χ. για εναν κωδικο πως το κανω?
την μέθοδο get?
ευχαριστω!!
Σημείωση συντονιστή: Τα thread αφορά μόνο τη γλώσσα προγραμματισμού java .
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Πληροφορικάριος
Δραστήριο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Προχθές ξεκίνησα Java αλλα αν πείς πιο συγκεκριμένα τι ζητάς μπορεί να βοηθήσω.
λοιπόν στην εκφώνηση θέλει να φτιάξουμε κάποιες κλάσεις
σε μια απο αυτές τις κλάσεις εχει 3 μεταβλητές που τις διαβάζει απο το πληκτρολόγιο κ μια μεταβλητή κωδικό που δεν την διαβάζει απο το πληκτρολόγιο αλλά απο το σύστημα λεει"Ο κωδικός αυτός δεν θα πρέπει να ζητείται
από το χρήστη αλλά θα δίνεται αυτόματα από το σύστημα."
τις άλλες ξέρω πως θα τις κάνω να τις διαβάζει απο το πληκτρολόγιο
αλλά την μεταβλητή κωδικό που την θέλει απο το σύστημα πως????
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
τι εκφραζει αυτη η μεταβλητη. Για ποιο λογο ειναι μεσα στη κλαση ;
π.χ. το ΑΜΚΑ είναι ένα νούμερο που θέλει να δίνετε απο το σύστημα και οχι απο το πληκτρολόγιο.
και η κλάση αυτή περιεχέι το όνομα και το επώνυμο του ανθρώπου κ ΑΜΚΑ .
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Πληροφορικάριος
Δραστήριο μέλος
Άν θέλει απλά έναν αριθμό μπορείς να δηλώσεις μια static μεταβλητή κλασης που στον constructor: θα την αυξάνεις π.χ. κατα 1 και θα την καταχωρείς στην μεταβλητή ΑΜΚΑ. Έτσι το κάθε άτομο(αντικείμενο) θα έχει έναν διαφορετικό κωδικό (ΑΜΚΑ).
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Για να φτιάξεις το ΑΜΚΑ πρέπει να ξέρεις την ημερομηνία γέννησης το ατόμου. Την έχεις? ή ως ΑΜΚΑ θέλει έναν απλό αριθμό?
Άν θέλει απλά έναν αριθμό μπορείς να δηλώσεις μια static μεταβλητή κλασης που στον constructor: θα την αυξάνεις π.χ. κατα 1 και θα την καταχωρείς στην μεταβλητή ΑΜΚΑ. Έτσι το κάθε άτομο(αντικείμενο) θα έχει έναν διαφορετικό κωδικό (ΑΜΚΑ).
ναι θέλει ένα τυχαίο αριθμό (δικό μου) !
οοκ! ευχαριστώ πολύ!!
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
θέλω να σε ρωτήσω κάτι ακόμα για τις στατικ μεταβλητες!
εγω εχω φτιαξει ενα πικανα τυπου Ανθρωποι κ μέσα εχω καταχωρήσει όνομα, επίθετο,ΑΜΚΑ οπου αμκα μια στατικ μεταβλητή!
οταν παω να εκτυπώσω με μια φορ κ καλώντας την μεθοδο πριντ ολα μου τα εκτυπώνει σωστά εκτός απο το Αμκα μου εκτυπώνει σε όλους το ίδιο οπου αντιστοιχεί στον τελευταίο άνθρωπο !
γιατι γντ αυτο?διοτι ειναι στατικ? και τι θα κανω για να το διορθώσω?
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Γεια σας και πάλι!
θέλω να σε ρωτήσω κάτι ακόμα για τις στατικ μεταβλητες!
εγω εχω φτιαξει ενα πικανα τυπου Ανθρωποι κ μέσα εχω καταχωρήσει όνομα, επίθετο,ΑΜΚΑ οπου αμκα μια στατικ μεταβλητή!
οταν παω να εκτυπώσω με μια φορ κ καλώντας την μεθοδο πριντ ολα μου τα εκτυπώνει σωστά εκτός απο το Αμκα μου εκτυπώνει σε όλους το ίδιο οπου αντιστοιχεί στον τελευταίο άνθρωπο !
γιατι γντ αυτο?διοτι ειναι στατικ? και τι θα κανω για να το διορθώσω?
Δεν ξέρω από java αλλά αν κρίνω από τη C++ νομίζω μπορώ να βοηθήσω. Οι static μεταβλητές μέσα σε κλάσεις παραμένουν ίδιες για κάθε instance της κλάσης για αυτό και το ΑΜΚΑ στο εκτυπώνει ίδιο. Αυτό που σου είπε ο πληροφορικάριος αν δεν κάνω λάθος ( και είναι το πιο λογικό ) είναι να δημιουργήσεις μια seeding μεταβλητή static έτσι ώστε να μπορείς κάθε φορά στον constructor να τραβάς τιμές από εκεί, να τις αναθέτεις στο ΑΜΚΑ σου και στη συνέχεια να την αυξάνεις κατά ένα. Το ΑΜΚΑ θα είναι ξεχωριστή ( μη static ) μεταβλητή-μέλος της κλάσης σου.
Εναλλακτικά θα μπορούσες απλά κάθε φορά να αναθέτεις ως ΑΜΚΑ μια random τιμή από κάποια συνάρτηση ( στη C/C++ είναι η rand() η java θα χει αντίστοιχη ) αλλά έτσι δεν εξασφαλίζεις τη μοναδικότητα των κωδικών σου.
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Δεν ξέρω από java αλλά αν κρίνω από τη C++ νομίζω μπορώ να βοηθήσω. Οι static μεταβλητές μέσα σε κλάσεις παραμένουν ίδιες για κάθε instance της κλάσης για αυτό και το ΑΜΚΑ στο εκτυπώνει ίδιο. Αυτό που σου είπε ο πληροφορικάριος αν δεν κάνω λάθος ( και είναι το πιο λογικό ) είναι να δημιουργήσεις μια seeding μεταβλητή static έτσι ώστε να μπορείς κάθε φορά στον constructor να τραβάς τιμές από εκεί, να τις αναθέτεις στο ΑΜΚΑ σου και στη συνέχεια να την αυξάνεις κατά ένα. Το ΑΜΚΑ θα είναι ξεχωριστή ( μη static ) μεταβλητή-μέλος της κλάσης σου.
Εναλλακτικά θα μπορούσες απλά κάθε φορά να αναθέτεις ως ΑΜΚΑ μια random τιμή από κάποια συνάρτηση ( στη C/C++ είναι η rand() η java θα χει αντίστοιχη ) αλλά έτσι δεν εξασφαλίζεις τη μοναδικότητα των κωδικών σου.
ook!ευχαριστω πολυ!!
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
εχω μια απορρια κ εγω για java!
λοιπον εχουμε μια κλαση π.χ. ανθρωποι και μεσα σε αυτην την κλαση εχουμε εναν πινακα π.χ. παιδια (των ανθρωπων!) η κλαση ανθωπος ειναι και αυτη ενας πινακας φτιαγμενος ομως στην μαιν!
πως μπορω να χρησιπομοιησω τον πινακα παιδια στην μαιν για να αποθικευω τα παιδια που εχει κα8ε ανθωπος??
αυτο ειναι σωστο?
person.setChildren(2)?? η' person.setChildren[j](2)???
ευχαριστώ για τον χρόνο σας!
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Πληροφορικάριος
Δραστήριο μέλος
person.setChildren(j,"onoma",eponumo"); Κάνει set όνομα και επώνυμο στο j παιδί του i ανθρώπου.
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Η setChildren είναι συνάρτηση οπότε το setChildren[j] που γράφεις στο δεύτερο είναι λάθος. Το πρώτο φαίνεται σωστό. πχ
person.setChildren(j,"onoma",eponumo"); Κάνει set όνομα και επώνυμο στο j παιδί του i ανθρώπου.
χρησ. αντικείμενα τύπου παιδιά πως γντ να το κάνω?
αν υπάρχει μια κλάση που λέγετε παιδια!
κ μεσα στον πινακα παιδια που βρίσκετε στην κλάση άνθρωποι θελει παιδια που να ανήκουν στην κλαση παιδια ( που ειναι ενας πινακας δηλωμένος στην μαιν)
ευχαριστώ! ελπίζω να μην τα ειπα μπερδεμένα και να μπορέσεις να με βοηθήσεις !!
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Μια λυση θα ηταν η παρακατω :
μια συναρτηση setChild(...) μεσα στη κλαση ανθρωπος
μια συναρτηση setfeatures(...) μεσα στη λαση child.
Ετσι η κληση θα ειναι person.setChild(...).setfeatures(...);
Προφανως αυτη ειναι η λογικη. Δες το και σκεψου ποιες μπορει να ειναι οι παραμετροι της καθε μεθοδου.
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Πληροφορικάριος
Δραστήριο μέλος
person.children[j].setChild(2)
Ετσι η κληση θα ειναι person.setChild(...).setfeatures(...);
Προφανώς εννοείς getChild(...).
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Vold
Πολύ δραστήριο μέλος
Για αρχή, και το πιο σημαντικό που θα ήθελα να μάθω, είναι τον τρόπο με τον οποίο μπορώ να αφαιρέσω από ένα java frame ένα κουμπί που έχω φτιάξει. Εννοώ προφανώς κατά το running του προγράμματος. Ή εναλλακτικά πως μπορώ να αλλάξω το φόντο του κουμπιού του. Ότι δοκιμές κι αν έκανα δεν οδηγούσαν σε κάτι δυστυχώς.
Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Nightmare++
Νεοφερμένος
Λίγο ξεθάψιμο στο topic αλλά τι να κάνουμε, έχουμε απορίες
Για αρχή, και το πιο σημαντικό που θα ήθελα να μάθω, είναι τον τρόπο με τον οποίο μπορώ να αφαιρέσω από ένα java frame ένα κουμπί που έχω φτιάξει. Εννοώ προφανώς κατά το running του προγράμματος. Ή εναλλακτικά πως μπορώ να αλλάξω το φόντο του κουμπιού του. Ότι δοκιμές κι αν έκανα δεν οδηγούσαν σε κάτι δυστυχώς.
Αν με το "αφαιρέσω" εννοείς να το αφαιρέσεις οπτικά, τότε χρησιμοποίησε την μέθοδο της setVisible(boolean flag) της JButton ως broThisIsTheButtonIWantToMakeInvisible.setVisible(false); κάπου, ενδεχομένως σε συνδυασμό με mouse listeners και λοιπά.
Αν εννοείς να το διαγράψεις εντελώς στην κυριολεξία και να το καταπιεί ο garbage collector και να μην το ξαναδείς πότε στη ζωή σου κλπ κλπ, τότε δεν υπάρχει "έτοιμος" τρόπος, γιατί δεν είναι συγκεκριμένο task.
Η λογική είναι η εξής: αφαιρείς το κουμπί απ΄το JPanel σου ή κάποιο αντίστοιχο Container με την remove, (myPanel.remove(shittyButton); ), θέτεις την αναφορά του κουμπιού σου να δείχνει σε null ώστε ο gc να περισυλλέξει το άχρηστο αντικείμενο ευκολότερα, κι εν τέλει κάνεις κι ένα revalidation καλώντας την myPanel.revalidate(); που αν θες να δεις τι κάνει αναλυτικά, δες το java reference της: με λίγα λόγια "επανατακτοποιεί" το layout. Ενδεχομένως να πετυχαίνει και η invalidate().
Τελικά, για να ΄σαι καθαρός, επαναζωγράφισε τη φάση σου με myPanel.repaint();
Λογικά θα δουλεύει όλο αυτό. Δεν το ΄χω χρησιμοποιήσει ποτέ προσωπικά.
Συμβουλές: Μην ξεχνάς να τσεκάρεις για null αναφορές, ειδικά σε καλόντα αντικείμενα (όπως εδώ το JPanel ή το όποιο Container).
Μια αναφορά που δεν δείχνει σε αντικείμενο, δε μπορεί να καλέσει κάποια μέθοδο. (you don't say) Εδώ βέβαια, ίσως είναι περιττό, οκ.
Σε μια κατάσταση mouse event handling θα κινηθείς έτσι:
public void actionPerformed(ActionEvent ae) {
JButton button = (JButton) ae.getSource(); //Παίρνω ένα ActionEvent με συγκεκριμένα χαρακτηριστικά εκ των οποίων με νοιάζει πολύ, προφανώς, η πηγή του γεγονότος αυτού. Φυσικά casting because you're a pro.
if (mySexyPanel != null && button != null) //overly suspicious java programmer
{
mySexyPanel.remove(button);
button = null; //overly attached to memory handling java programmer
mySexyPanel.revalidate();
mySexyPanel.repaint();
}
}
Κάτι τέτοιο γενικά.
Όλες οι απαντήσεις βρίσκονται στο standard Java API.
Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Vold
Πολύ δραστήριο μέλος
Αναφερόμουν στην δεύτερη περίπτωση.
Δοκίμασα όλα όσα ανέφερες και βγήκε το επιθυμητό αποτέλεσμα. Μάλιστα, ανάλογα με τον τρόπο χρήσης αυτών των συναρτήσεων βγαίνουν διαφορετικά αποτελέσματα. Π.χ είδα αναδίπλωση των εικόνων όταν δεν χρησιμοποιώ την συνάρτηση repaint.
Αυτό που δεν κατάλαβα είναι γιατί χρησιμοποιείς το όνομα της κλάσης σου(mySexyPanel) ώστε να προσπελάσεις στις συναρτήσεις της.
Υλοποίησες την λειτουργία των κουμπιών σε μια ξεχωριστή κλάση, εκτός της mySexyPanel; Αλλά σε μια τέτοια περίπτωση δεν θα πρέπει να υπάρχει μια άλλη κλάση όπως η "private/public class Handler implements ActionListener", μέσα στην οποία να τοποθετείται το τμήμα κώδικα σου ;
Αν κάνεις την κλάση Handler εντός της mySexyPane γράφεις revalidate(); αντί mySexyPanel.revalidate();
Θα ήθελα να σου κάνω μερικές ακόμη ερωτήσεις.
Πως μπορώ να αλλάξω την εικόνα ενός κουμπιού;
Επίσης πως μπορώ να προσθέσω σε κουμπιά τα οποία βρίσκονται σε ένα arraylist ένα ActionListener;
Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Guest 039548
Επισκέπτης
και τα ζητουμενα
Αυτο που πρεπει να κανω ειναι να φτιαξω της επομενες κλασεις
https://i64.tinypic.com/20kt6ar.jpg
Δεν εχω ιδεα πως να ξεκινησω
Σημείωση: Το μήνυμα αυτό γράφτηκε 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Χρήστες Βρείτε παρόμοια
-
Φορτώνει...
-
Το forum μας χρησιμοποιεί cookies για να βελτιστοποιήσει την εμπειρία σας.
Συνεχίζοντας την περιήγησή σας, συναινείτε στη χρήση cookies στον περιηγητή σας.