| Program will not read keyboard input. 
 
	 
	
		| Author | Message |   
		| Ethan3210 
 
 
 
 
 | 
			
				|  Posted: Mon Nov 22, 2010 2:21 pm    Post subject: Program will not read keyboard input. |  |   
				| 
 |  
				| My program won't let the user input any key commands, and I have no clue why. Everything should be working fine, but it doesn't. 
 
 	  | Java: |  	  | import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.awt.event.*;
import java.awt.*;
 
public class Worms extends JFrame{
        
        public  Worms(){ 
                super("Ohai Denny") ;
 
                setSize(645 ,505) ;
 
                setDefaultCloseOperation( EXIT_ON_CLOSE) ;
                Menu  menu = new Menu() ;
 
        setVisible(true) ;
 
        setFocusable(true) ;
 
        setResizable(false) ;
 
        add( menu) ;
        }
    
    public static void  main(String[]  args) { 
        Worms frame = new  Worms() ;
        
    }
} | 
 
 
 	  | Java: |  	  | import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.awt.event.*;
import java.awt.*;
import java.util.Scanner;
import java.io.*;
public class Menu extends JPanel implements KeyListener{
        Image backdrop, cloud1, cloud2, cloud3, cloud4, cloud5, title, worms, pressstart, spin, logo,startback;
        Toolkit  kit = Toolkit .getDefaultToolkit() ;
        int  x1= 0 -250 , x1speed = 1 , x2 = 0 -250 , x2speed = 2 , x3 = 0 -250 , x3speed = 3 , x4 = 0 -250 , x4speed = 2 , x5 = 0 -250 , x5speed = 1 ;
        int  y1= 50 , y2= 200 , y3= 120 , y4= 250 , y5= 300 ;
        boolean  start = true ;
        int  key;
        Random  num = new Random() ;
        
    public Menu() { 
        super() ;
 
        addKeyListener(this) ;
 
                setFocusable(true) ;
                
 
                backdrop = kit.getImage("Images/backdrop.GIF") ;
 
                cloud1 = kit.getImage("Images/cloud1.GIF") ;
 
                cloud2 = kit.getImage("Images/cloud2.GIF") ;
 
                cloud3 = kit.getImage("Images/cloud1.GIF") ;
 
                cloud4 = kit.getImage("Images/cloud2.GIF") ;
 
                cloud5 = kit.getImage("Images/cloud1.GIF") ;
 
                worms = kit.getImage("Images/Intro/title.GIF") ;
 
                pressstart = kit.getImage("Images/pressstart.GIF") ;
 
                spin = kit.getImage("Images/Intro/WorldAnim/test.GIF") ;
 
                logo = kit.getImage("Images/Intro/logo.GIF") ;
 
                startback = kit.getImage("Images/startback.GIF") ;
    }
    
    public void  paint(Graphics  comp){ 
        super.paint( comp) ;
 
        comp.drawImage( backdrop,0 ,0 ,this) ;
 
        comp.drawImage( cloud1,x1,y1,this) ;
 
        comp.drawImage( cloud2,x2,y2,this) ;
 
        comp.drawImage( cloud3,x3,y3,this) ;
 
        comp.drawImage( cloud4,x4,y4,this) ;
 
        comp.drawImage( cloud5,x5,y5,this) ;
 
        comp.drawImage( worms,161 ,100 ,this) ;
 
        comp.drawImage( logo,171 ,20 ,this) ;
 
        comp.drawImage( spin,251 ,25 ,this) ;
        
        if ( start){ 
            comp.drawImage( startback,161 ,400 ,this) ;
 
            comp.drawRect(161 ,400 ,324 ,44) ;
 
            comp.drawImage( pressstart,163 ,403 ,this) ;
        }
        try { Thread .sleep(10) ;
        } catch (Exception  e){} 
        x1= x1 + x1speed;
 
        x2= x2 + x2speed;
 
        x3= x3 + x3speed;
 
        x4= x4 + x4speed;
 
        x5= x5 + x5speed;
 
        repaint() ;
        if ( x1 >= 645){ 
        x1 = (0 -250) ;
 
        x1speed = num.nextInt(3) +1 ;
 
        y1 = num.nextInt(325) ;
        }
        if ( x2 >= 645){ 
        x2 = (0 -250) ;
 
        x2speed = num.nextInt(3) +1 ;
 
        y2 = num.nextInt(325) ;
        }
        if ( x3 >= 645){ 
        x3 = (0 -250) ;
 
        x3speed = num.nextInt(3) +1 ;
 
        y3 = num.nextInt(325) ;
        }
        if ( x4 >= 645){ 
        x4 = (0 -250) ;
 
        x4speed = num.nextInt(3) +1 ;
 
        y4 = num.nextInt(325) ;
        }
        if ( x5 >= 645){ 
        x5 = (0 -250) ;
 
        x5speed = num.nextInt(3) +1 ;
 
        y5 = num.nextInt(325) ;
        } 
        repaint() ;
    }
    public void  keyReleased(KeyEvent  evt){}
    public void  keyPressed(KeyEvent  evt){}
    public void  keyTyped(KeyEvent  evt){ 
        char ch = evt.getKeyChar() ;
        if ( ch == 'a')
            System .exit(0) ;
               System .out .println("Some key was pressed !!") ;
    }
} | 
 |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| Sponsor Sponsor
 
  
   |  |   
		|  |   
		| TerranceN 
 
 
 
 
 | 
			
				|  Posted: Mon Nov 22, 2010 5:27 pm    Post subject: RE:Program will not read keyboard input. |  |   
				| 
 |  
				| You need to add menu as a KeyListener as well. After the line
 add(menu);
 
 add this line
 addKeyListener(menu);
 |  
				|  |  |   
		|  |  |  
	  
		|  |   
		|  |  
 |