argate7 Δημοσ. 6 Απριλίου 2011 Μέλος Δημοσ. 6 Απριλίου 2011 Ανάλογα με την επιλογή που θα κάνω στη JList μου εμφανίζει και το αντίστοιχο i.
Technology fan Δημοσ. 6 Απριλίου 2011 Δημοσ. 6 Απριλίου 2011 Ναι προφανώς, αλλα είναι μικρότερο απο 3? Επίσης οι μέθοδοι (getFirstname, getLastName, getAge) σου επιστρέφουν String?
virxen75 Δημοσ. 6 Απριλίου 2011 Δημοσ. 6 Απριλίου 2011 Παιδιά νέο πρόβλημα.. Θέλω να επιλέξω από μία λίστα έναν υπάλληλο και πατώντας ένα κουμπί να μου εμφανίσει μία νέα σελίδα με τα textfields γεμάτα από τα στοιχεία του. Δηλαδή το όνομα, το επώνυμο και η ηλικία να είναι ήδη γραμμένα στα νέα textfields. Κάτι σαν update ας πούμε. Στην πρώτη φόρμα στο κουμπί του "select" έχω τον παρακάτω κώδικα : if (e.getSource() == selectbutton) { fFrame = new updateframe(mylist.getSelectedIndex()); fFrame.setVisible(true); setVisible(false); } Η νέα φόρμα λοιπόν, είναι έτσι : newframe(int i) { super("Στοιχεία"); JPanel panel = new JPanel(new GridLayout(10, 2)); JPanel buttonpanel = new JPanel(); JLabel lnlbl = new JLabel("Last Name :"); JTextField lntxf = new JTextField(emp.get(i).getLastname()); lntxf.setHorizontalAlignment(JTextField.LEFT); lnlbl.setLabelFor(lntxf); JLabel fnlbl = new JLabel("First Name :"); JTextField fntxf = new JTextField(emp.get(i).getFirstname()); fntxf.setHorizontalAlignment(JTextField.LEFT); fnlbl.setLabelFor(fntxf); JLabel albl = new JLabel("First Name :"); JTextField atxf = new JTextField(emp.get(i).getAge()); atxf.setHorizontalAlignment(JTextField.LEFT); albl.setLabelFor(atxf); . . . . . } Και μου πετάει Null Pointer Exception στις παρακάτω γραμμές κώδικα... JTextField lntxf = new JTextField(emp.get(i).getLastname()); JTextField fntxf = new JTextField(emp.get(i).getFirstname()); JTextField atxf = new JTextField(emp.get(i).getAge()); Τι πρέπει να κάνω εδώ για να το διορθώσω αυτό το πρόβλημα? Δεν μπορώ να καταλάβω γιατί χτυπάει πρόβλημα εκεί. Ευχαριστώ και πάλι για τη βοήθεια!! > ........ JLabel lnlbl = new JLabel("Last Name :"); System.out.println(emp);//ΑΝ ΣΟΥ ΤΥΠΩΣΕΙ null ΔΕΝ ΕΙΝΑΙ ΑΡΧΙΚΟΠΟΙΗΜΕΝΟ θέλει emp=new ArrayList<...>() JTextField lntxf = new JTextField(emp.get(i).getLastname()); lntxf.setHorizontalAlignment(JTextField.LEFT); ................
argate7 Δημοσ. 6 Απριλίου 2011 Μέλος Δημοσ. 6 Απριλίου 2011 Και στην περίπτωση που τυπώνει [] τί κάνουμε?
virxen75 Δημοσ. 6 Απριλίου 2011 Δημοσ. 6 Απριλίου 2011 Ναι έτσι κάνεις δήλωση αλλα δεν ξέρω τι θέλεις να πας να κάνεις, λανθασμένο μου φαίνεται... για το "ι" δεν εννοούσα αν παίρνει τιμή το ίδιο αλλά αν ειναι ας πούμε το 5, βεβαιώσου οτι η λίστα σου έχει αρκετά αντικείμενα μέσα της. το πρόβλημα που αναφέρεις θα ήταν αν το exception ήταν IndexOutOfBoundsException και όχι NullPointerException δείτε και το παρακάτω παράδειγμα > import java.util.ArrayList; public class Testx{ ArrayList<String> emp; public Testx(){ System.out.println("1o---->"+emp);//το emp δεν είναι αρχικοποιημένο άρα null try{ System.out.println("2o---->"+emp.get(1));//ζητάει την θέση 1 μιας μη αρχικοποιημένης λίστας }catch(NullPointerException e){ System.out.println("2o---->(error)="+e);//άρα λάθος NullPointerException } emp=new ArrayList<String>();//αρχικοποίηση λίστας System.out.println("3o---->"+emp);//αντι null εμφανίζει 2 αγκύλες try{ System.out.println("4o---->"+emp.get(1));//ζητάει την θέση 1 της λίστας που δεν υπάρχει }catch(IndexOutOfBoundsException e){ System.out.println("4o---->(error)="+e);//αρα λάθος IndexOutOfBoundsException } emp.add("sdfsdf");//θέση 0 emp.add("xxxxx");//θέση 1 System.out.println("5o---->"+emp);//εμφανίζει τα στοιχεία της λίστας System.out.println("6o---->"+emp.get(1)); //και τέλος τα περιεχόμενα της θέσης 1 } public static void main(String args[]){ new Testx(); } } Και στην περίπτωση που τυπώνει [] τί κάνουμε? η λίστα είναι αρχικοποιημένη αλλά κενή ,δεν έχει δεδομένα
argate7 Δημοσ. 6 Απριλίου 2011 Μέλος Δημοσ. 6 Απριλίου 2011 Πρέπει να κάνω κάτι διαφορετικό για να μην είναι άδεια η λίστα? Τι βλακεία κάνω?
virxen75 Δημοσ. 6 Απριλίου 2011 Δημοσ. 6 Απριλίου 2011 Πρέπει να κάνω κάτι διαφορετικό για να μην είναι άδεια η λίστα? Τι βλακεία κάνω? έχεις pm
Super Moderators paredwse Δημοσ. 6 Απριλίου 2011 Super Moderators Δημοσ. 6 Απριλίου 2011 έχεις pm Γιατί δεν το γράφεις εδώ, να πληροφορηθεί και το υπόλοιπο forum;
virxen75 Δημοσ. 6 Απριλίου 2011 Δημοσ. 6 Απριλίου 2011 Γιατί δεν το γράφεις εδώ, να πληροφορηθεί και το υπόλοιπο forum; Ζήτησα όλο τον κώδικα του project για να βοηθήσω στην λύση του τον χρήστη argate7 ο κώδικας δεν είναι δικός μου για να τον ποστάρω. Αν ο argate7 το θέλει ας το κάνει αυτός.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.