Ciao ragazzi...ho questo codice molto semplice e mi succede una cosa che non riesco a capire...chi mi dà delle delucidazioni?
Il problema è che se nel metodo setBackground utilizzo un richiamo al campo container ricevo un'eccezione:codice:public class Window extends JFrame{ private JPanel container; public Window(String t){ super(t); this.container = (JPanel) this.getContentPane(); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.toFront(); } public void setIcon(String imgPath){ this.setIconImage(Toolkit.getDefaultToolkit().getImage(imgPath)); this.setSize((int)Toolkit.getDefaultToolkit().getScreenSize().getWidth()/2, (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight()/2); } public void maximize(){ this.setExtendedState(Frame.MAXIMIZED_BOTH); } public void addBackgroundImage(String imgPath){ this.container.add(new JLabel(new ImageIcon(imgPath))); } public void setProva(){ this.container.add(new JLabel("Prova")); } public void setBackground(Color c){ System.out.println(container.toString()); } } ------------------------------------------------- public class TestFrame{ public static void main(String[] s){ Window w = new Window("Titolo"); w.setProva(); w.maximize(); w.setVisible(true); } }
e non riesco a capire il motivocodice:Exception in thread "main" java.lang.NullPointerException at Window.setBackground(Window.java:39) at javax.swing.JFrame.frameInit(Unknown Source) at javax.swing.JFrame.<init>(Unknown Source) at Window.<init>(Window.java:19) at TestFrame.main(TestFrame.java:5)![]()

Rispondi quotando
