giari Δημοσ. 9 Ιανουαρίου 2018 Δημοσ. 9 Ιανουαρίου 2018 (επεξεργασμένο) Κατ' αρχάς καλησπέρα, δουλεύω πάνω σε μια εφαρμογή του παιχνιδιού domino ως εργασία στη σχολή μου. Προκειμένου να εμφανίσω τα τουβλάκια έχω φτιάξει μια κλάση (Brickk) που κάνει extend την JLabel με κάθε αντικείμενο της κλάσης να έχει ορισμένα χαρακτηριστικά ανάμεσα τους και η εμφάνιση (Image). Το πρόβλημα είναι ότι για να χειριστώ τα τουβλάκια (JLabels) θέλω να τα προσθέτω σε ένα ArrayList κι αυτό προκαλεί με τη σειρά του execution errors. Υπάρχει κάποια ιδιαιτερότητα στην χρήση JLabels μέσα από ArrayList; Παραθέτω κι ένα μικρό κομμάτι του κώδικα Κλάση Brickk public class Brickk extends JLabel { private int sum; private int firstNumber, secondNumber; private boolean doubleBrick; private boolean isPlayed;//has been played private boolean isActive;//can be played private Image img; //Constructor public Brickk(int i, int j) { firstNumber = i; secondNumber = j; sum = i + j; doubleBrick = i==j; isActive = false; isPlayed = false; img = new ImageIcon(this.getClass().getResource("/"+i+j+".png")).getImage(); setIcon(new ImageIcon(img)); } .... Κλάση Solo public class Solo { private JFrame frame; private JPanel soloPanel; private ArrayList<JLabel> bricksList; public Solo() { initialize(); Brickk brick = new Brickk(i,j); //όπου i,j 'τυχαίοι' αριθμοί brick.setBounds(50,50,50,100); //τυχαία θέση στο panel //bricksList.add(brick); soloPanel.add(brick); } Με αυτή τη δομή τρέχει κανονικά και μου εμφανίζει στο panel του τουβλάκι που έχω φτιάξει όπως πρέπει Όταν τρέχω και το bricksList.add(brick); (αφαιρώ τα "//" σχόλια από μπροστά) τότε αρχίζει το πρόβλημα Έχετε καμία ιδέα; Ευχαριστώ εκ των προτέρων exception Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at domino.Solo.<init>(Solo.java:38) όπου (Solo.java:38) -> bricksList.add(brick); Επίσης το ίδιο συμβαίνει και αν αλλάξω το περιεχόμενο του ArrayList από <JLabel> σε <Brickk> Επεξ/σία 9 Ιανουαρίου 2018 από giari
Επισκέπτης Δημοσ. 9 Ιανουαρίου 2018 Δημοσ. 9 Ιανουαρίου 2018 Καλημέρα. Τι exception παίρνεις ακριβώς; Αρχικοποιείς το bricks πριν το χρησιμοποιήσεις; ΥΓ. Μορφοποίησε το κώδικα του post σου, να είναι πιο ευανάγνωστος
giari Δημοσ. 9 Ιανουαρίου 2018 Μέλος Δημοσ. 9 Ιανουαρίου 2018 9 ώρες πριν, Kostas Palaiologos είπε Καλημέρα. Τι exception παίρνεις ακριβώς; Αρχικοποιείς το bricks πριν το χρησιμοποιήσεις; ΥΓ. Μορφοποίησε το κώδικα του post σου, να είναι πιο ευανάγνωστος έκανα μια επεξεργασία στον κώδικα και πρόσθεσα τα exception. Ελπίζω να είναι πιο κατανοητά τώρα
Lanike71 Δημοσ. 9 Ιανουαρίου 2018 Δημοσ. 9 Ιανουαρίου 2018 Προσθέτεις κάτι στο bricksList. Το bricksList υπάρχει κάπου; Δε βλέπω να το δημιουργείς.
giari Δημοσ. 9 Ιανουαρίου 2018 Μέλος Δημοσ. 9 Ιανουαρίου 2018 1 ώρα πριν, Lanike71 είπε Προσθέτεις κάτι στο bricksList. Το bricksList υπάρχει κάπου; Δε βλέπω να το δημιουργείς. μπροστά στα μάτια μου... ευχαριστώ πολύ
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα