JPanel-object

Status
Niet open voor verdere reacties.

KlaasH

Gebruiker
Lid geworden
20 mei 2009
Berichten
10
Dag allemaal

ik ben een beetje bezig met het oefenen met java opdrachten en ben een klein probleempje tegengekomen.
de java code ziet er als volgt uit:
PHP:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MyFrame extends JFrame implements ActionListener
{
	private JButton b;
	private JPanel p;
	
	public MyFrame() {
		
		setLayout(new FlowLayout());
		
		p = new JPanel();
		p.setPreferredSize(new Dimension(300, 200));
		p.setBackground(Color.WHITE);
		
		b = new JButton("Press me") ;
		add(b);
		b.addActionListener(this);
		
		setSize(400, 300);
		setVisible(true);
		setDefaultCloseOperation (EXIT_ON_CLOSE);
	}

	@Override
	public void actionPerformed(ActionEvent event) {
		Graphics g = p.getGraphics();
                                 g.drawLine(0, 0, 100, 100);
		g.drawString("(100, 100)", 80, 120);
		}
}
de foutmelding die ik krijg ziet er als volgt uit:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at MyFrame.actionPerformed(MyFrame.java:30)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

graag hierbij jullie hulp.

met vriendelijke groeten,
Klaas
 
Laatst bewerkt door een moderator:
Je doet niks met de panel. Je maakt hem aan, maar je laat hem niet zien. Daarom heeft hij ook geen graphics. Door in de constructor je panel aan je venster toe te voegen:

add(p);

werkt het wel. Dan zul je nog wel even met je layout moeten stoeien ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan