mix@lis Δημοσ. 12 Ιανουαρίου 2006 Δημοσ. 12 Ιανουαρίου 2006 καλησπερα και καλη χρονα!!! εχω τον εξης κωδικα στον οποιο εχω ενα προβληματακι... import java.awt.*; import javax.swing.*; import javax.swing.event.*; import java.awt.event.*; public class Xroma extends JFrame { static JPanel panel; Choice sport=new Choice(); public Xroma() { JPanel panel=new JPanel(); setDefaultCloseOperation(EXIT_ON_CLOSE); sport.add("blue"); sport.add("red"); sport.add("Grey"); sport.add("Yellow"); panel.add(sport); setSize(200,100); setContentPane(panel); show(); } public boolean action(Event event, Object object) { if (event.target == sport) { String selection = sport.getSelectedItem(); if (selection.equals("blue")) panel.setSize(400,400); else if (selection.equals("red")) System.out.println("red"); else if (selection.equals("Grey")) System.out.println("grey"); else if (selection.equals("Yellow")) System.out.println("yellow"); return(true); } else return(false); } public static void main(String []args) { Xroma d1=new Xroma(); } } ο κωδικας δουλευει σωστα(δηλαδη οτι χρωμα επιλεξω απο το choice τυπωνεται στην κονσολα το ιδιο χρωμα)αλλα....αν επιλεξω μπλε το background δεν γινεται μπλε οπως θα επρεπε!!!ετσι δεν ειναι??μου πεταει exception...γιατι???οποιος μπορει ας μου πει ωστε να διορθωσω τον κωδικα να τρεχει σωστα!! Ευχαριστω πολυ!
dimnts Δημοσ. 12 Ιανουαρίου 2006 Δημοσ. 12 Ιανουαρίου 2006 Basika mesa ston constructor public Xroma() exeis dhlwsei JPanel panel=new JPanel(); To panel afto einai diaforetiko apo to panel pou exeis dhlwsei sthn arxh ths klashs sou san static JPanel panel; Ola einai thema scope.H public boolean action(Event event, Object object) den vlepei to panel pou exeis dhmiourghsei ston constuctor alla to static JPanel panel to opoio den exei arxikopoihthei akoma kai einai null.Gi'ayto otan kaneis panel.setSize(400,400); sou xtypaei NullPointerException.Dokimase na bgaleis apo ton construcor ton orismo JPanel apo to panel : import java.awt.*; import javax.swing.*; import javax.swing.event.*; import java.awt.event.*; public class Xroma extends JFrame { static JPanel panel; Choice sport=new Choice(); public Xroma() { panel=new JPanel(); setDefaultCloseOperation(EXIT_ON_CLOSE); sport.add("blue"); sport.add("red"); sport.add("Grey"); sport.add("Yellow"); panel.add(sport); setSize(200,100); setContentPane(panel); show(); } public boolean action(Event event, Object object) { if (event.target == sport) { String selection = sport.getSelectedItem(); if (selection.equals("blue")) panel.setSize(400,400); else if (selection.equals("red")) System.out.println("red"); else if (selection.equals("Grey")) System.out.println("grey"); else if (selection.equals("Yellow")) System.out.println("yellow"); return(true); } else return(false); } public static void main(String []args) { Xroma d1=new Xroma(); } } Afto tha shmainei oti to panel pou orises panw-panw ws static tha einai to idio me ekeino sto constructor opote to panel den tha einai null.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.