mavvy
11-27-2008, 12:19 AM
Hi people, I'm writing some code for a program which displays pictures. I've written a few classes and all seems fine but when I run it, this exception come up
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1019)
at java.awt.Container.add(Container.java:899)
at finalproject.MorphMainFrame.<init>(MorphMainFrame.java:56)
at finalproject.MorphMainFrame.main(MorphMainFrame.java:70)
this is my code:
import java.awt.*;
import javax.swing.*;
import javax.swing.border.Border;
/**
*
*/
public class MorphMainFrame extends JFrame {
private JPanel phasePanel;
private MenuBar menuBar;
private ImagePanel imagePanel;
static JPanel contentPane;
private JPanel picture1;
private JPanel picture2;
/** Creates a new instance of MorphMainFrame */
public MorphMainFrame() {
Border blackLine = BorderFactory.createLineBorder(Color.black);
BorderLayout b = new BorderLayout();
setLayout(b);
imagePanel = new ImagePanel(this, 700, 390);
//Create a panel and make it the content pane.
contentPane = new JPanel(new BorderLayout());
contentPane.setBorder(BorderFactory.createRaisedBevelBorder());
//create panel to show original pictures
picture1 = new JPanel();
picture1.setBackground(Color.YELLOW);
picture1.setBorder(BorderFactory.createLoweredBevelBorder());
picture1.setPreferredSize(new Dimension(500, 1000));
picture2 = new JPanel();
picture2.setBackground(Color.GREEN);
picture2.setBorder(BorderFactory.createLoweredBevelBorder());
picture2.setPreferredSize(new Dimension(500, 1000));
//add menu bar
menuBar = new MenuBar(this);
contentPane.add(menuBar);
contentPane.add(phasePanel, BorderLayout.SOUTH);
contentPane.add(picture1, BorderLayout.WEST);
contentPane.add(picture2, BorderLayout.EAST);
contentPane.add(phasePanel);
createToolbar();
pack();
}
public static void main(String[] args) {
JFrame frame = new MorphMainFrame();
//UIManager.setLookAndFeel(napkinlaf);
//SwingUtilities.updateComponentTreeUI(frame);
//frame.add(new RunProgram());
frame.setSize(1000, 800);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//frame.setJMenuBar(bar);
frame.setContentPane(contentPane);
frame.setVisible(true);
}
Hope you can do better than I have.Thanks :)
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1019)
at java.awt.Container.add(Container.java:899)
at finalproject.MorphMainFrame.<init>(MorphMainFrame.java:56)
at finalproject.MorphMainFrame.main(MorphMainFrame.java:70)
this is my code:
import java.awt.*;
import javax.swing.*;
import javax.swing.border.Border;
/**
*
*/
public class MorphMainFrame extends JFrame {
private JPanel phasePanel;
private MenuBar menuBar;
private ImagePanel imagePanel;
static JPanel contentPane;
private JPanel picture1;
private JPanel picture2;
/** Creates a new instance of MorphMainFrame */
public MorphMainFrame() {
Border blackLine = BorderFactory.createLineBorder(Color.black);
BorderLayout b = new BorderLayout();
setLayout(b);
imagePanel = new ImagePanel(this, 700, 390);
//Create a panel and make it the content pane.
contentPane = new JPanel(new BorderLayout());
contentPane.setBorder(BorderFactory.createRaisedBevelBorder());
//create panel to show original pictures
picture1 = new JPanel();
picture1.setBackground(Color.YELLOW);
picture1.setBorder(BorderFactory.createLoweredBevelBorder());
picture1.setPreferredSize(new Dimension(500, 1000));
picture2 = new JPanel();
picture2.setBackground(Color.GREEN);
picture2.setBorder(BorderFactory.createLoweredBevelBorder());
picture2.setPreferredSize(new Dimension(500, 1000));
//add menu bar
menuBar = new MenuBar(this);
contentPane.add(menuBar);
contentPane.add(phasePanel, BorderLayout.SOUTH);
contentPane.add(picture1, BorderLayout.WEST);
contentPane.add(picture2, BorderLayout.EAST);
contentPane.add(phasePanel);
createToolbar();
pack();
}
public static void main(String[] args) {
JFrame frame = new MorphMainFrame();
//UIManager.setLookAndFeel(napkinlaf);
//SwingUtilities.updateComponentTreeUI(frame);
//frame.add(new RunProgram());
frame.setSize(1000, 800);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//frame.setJMenuBar(bar);
frame.setContentPane(contentPane);
frame.setVisible(true);
}
Hope you can do better than I have.Thanks :)