4 Replies - 681 Views - Last Post: 04 December 2008 - 01:13 AM Rate Topic: -----

#1 Mark064  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 6
  • Joined: 02-December 08

Times & Null Pointer Exception

Posted 03 December 2008 - 05:33 PM

So I'm new to Timers and I'm trying to get this code to work as part of my program. However I keep getting a null pointer exception when I press the up, down, left or right button (they all do the same thing at the moment but that'll be changed).

 import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
 import javax.swing.border.*;

public class Directions extends JFrame{
	
	JFrame f1;
	JFrame f2;
	JFrame f3;
	JFrame f4;
	JFrame f5;
	JFrame f6;
	JButton jbtnUp;
	JButton jbtnDown;
	JButton jbtnLeft;
	JButton jbtnRight;
	JLabel jlblScore;
	JLabel jlblTime;
	JLabel imgDirections = new JLabel (new ImageIcon ("c:/blank.JPG"));
	JLabel imgUp = new JLabel (new ImageIcon ("c:/up.JPG"));
	JTextField jtxtDirections;
	Container cdirections;
	Timer dirTimer;

	String x = "up";	
	int score = 0;
	
	JFrame Directions;

	public Directions() {
		
		cdirections = this.getContentPane();
		this.setTitle("Directions");
		this.setSize(600,460);
		this.setLocation(0,0);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setLayout(new FlowLayout());
		jbtnUp = new JButton("Up");
		jbtnDown = new JButton("Down");
		jbtnLeft = new JButton("Left");
		jbtnRight = new JButton("Right");
		jlblScore = new JLabel("Score: ", score);
		
		
		jtxtDirections = new JTextField (x);
		jtxtDirections.setEditable(false);
		   	
		
		cdirections.add(imgDirections, BorderLayout.NORTH);
		cdirections.add(jlblScore, BorderLayout.EAST);
		cdirections.add(jbtnUp, BorderLayout.SOUTH);
		  cdirections.add(jbtnDown, BorderLayout.SOUTH);
		cdirections.add(jbtnLeft, BorderLayout.SOUTH);
		cdirections.add(jbtnRight, BorderLayout.SOUTH);
		
	
		
	//	ActionHandler actH = new ActionHandler();
	//	jbtStart.addActionListener(actH);
	//	jbtInstructions.addActionListener(actH);
		f3 = this;
		
		jbtnUp.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
			 dirTimer.start();
			}
		});
		
		jbtnDown.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
			 dirTimer.start();
			}
		});
		
		jbtnLeft.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
			 dirTimer.start();
			}
		});
		
		jbtnRight.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
			 dirTimer.start();
			}
		});
	}
	
	public void setTitleScreen(JFrame f){
		f1=f;
	}
	
	public void setInstructions(JFrame f){
		f2=f;
	}
	
	public void setDirections (JFrame f){
		f3=f;
	}
	
	 public void setColors (JFrame f){
		f4=f;
	}
	
	 public void setColorDirection (JFrame f){
		f5=f;
	}
	
	 public void setResults (JFrame f){
		f6=f;
	}
	
	/*class ActionHandler implements ActionListener{
		public void actionPerformed (ActionEvent e){
			if (e.getSource() == jbtnUp){
				score = score + 10;
			}
		
			
		}   
}*/



	public class DirectionPicture extends JFrame{ //implements ActionListener{
//	@Override 
	
		//public void actionPerformed(ActionEvent e) {
			
		public void funTimes(){
			
			
		
			dirTimer = new Timer (1, new TimerListener());
			//dirTimer.start();
			//System.out.println("HLEOO");
			cdirections.add(imgUp, BorderLayout.NORTH);
			//dirTimer.stop();
			//}
	}

	class TimerListener implements ActionListener{
			
			public void actionPerformed(ActionEvent e){
				repaint();
				
			}
		}
	}
}


Is This A Good Question/Topic? 0
  • +

Replies To: Times & Null Pointer Exception

#2 KYA  Icon User is online

  • g++ jameson.cpp -o beverage
  • member icon

Reputation: 3116
  • View blog
  • Posts: 19,153
  • Joined: 14-September 07

Re: Times & Null Pointer Exception

Posted 03 December 2008 - 06:07 PM

Because your directions class doesn't have an instance/object of the timer.
Was This Post Helpful? 0
  • +
  • -

#3 Mark064  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 6
  • Joined: 02-December 08

Re: Times & Null Pointer Exception

Posted 03 December 2008 - 09:23 PM

I see... how do you go around fixing that?
Was This Post Helpful? 0
  • +
  • -

#4 KYA  Icon User is online

  • g++ jameson.cpp -o beverage
  • member icon

Reputation: 3116
  • View blog
  • Posts: 19,153
  • Joined: 14-September 07

Re: Times & Null Pointer Exception

Posted 03 December 2008 - 09:33 PM

Well you have the timer inside of another class that extends JFRame as well. I would pick one (which ever class needs it):

//inside Directions
//variable declaration
 Timer dirTimer;

//inside constructor
 dirTimer = new Timer (1, new TimerListener());



Or if the second class it to be a part of the first, add it and then call through

classTwo.timer.function()
Was This Post Helpful? 1
  • +
  • -

#5 Mark064  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 6
  • Joined: 02-December 08

Re: Times & Null Pointer Exception

Posted 04 December 2008 - 01:13 AM

Ah perfect got my problem fixed now.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1