Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Program will not read keyboard input.
Index -> Programming, Java -> Java Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
Ethan3210




PostPosted: 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
Sponsor
sponsor
TerranceN




PostPosted: 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);
Display posts from previous:   
   Index -> Programming, Java -> Java Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 2 Posts ]
Jump to:   


Style:  
Search: