Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (542)
Games in Android Showcase (133)
games submitted by our members
Games in WIP (604)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  A simple basic question: calling a method return...  (Read 996 times)
0 Members and 1 Guest are viewing this topic.
Offline gerard_pp

Junior Devvie


Medals: 1



« Posted 2012-01-31 01:13:26 »

Hello

First of all, please excuse my english. I`ll do my best to explain myself.

I have readed some java books, but i still don´t have the practical experience to deal with the developing of serius java applications. My goal is to program java games, and that´s why im here asking my fist nooby question:

I wanna register on a "drawString" line, whenever the player hits any key on the keyboard. i was guessing to put it inside my paint method, but it keeps giving me an error.

Here is the code. Can someone help me:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
import java.applet.*;
import java.awt.*;

public class Prueba extends Applet implements Runnable{
   Thread t;
   int i;
   
   public void init(){
      t = new Thread(this);
      t.start();
     
      i = 0;
   }
   
   public void run(){
      while(true){
         i++;
         repaint();
         
         try{
            t.sleep(1000/30);
         }catch(Exception ex){
         }  
      }
   }
   public void paint(Graphics g){
      g.drawString("i = "+i, 10, 20);
     
      g.drawString("message", 50, 80);
   }
   public boolean keyDown(Event e, int key)
   {
     String message = "value = " + key;
     return true;
   }
   
}

Warning: Plz, excuse my bad english...
Offline roland
« Reply #1 - Posted 2012-01-31 01:39:18 »

Please output the error you get.

firstly,

1  
String message = "value = " + key;

you don't do anything with this. I think you want to make message a field instead of local variable.
Then you can say:

1  
g.drawString(message, 50, 80);
instead of
1  
g.drawString("message", 50, 80);



You also need your class to implement KeyListener and go
1  
addKeyListener(this);
in the init method
Offline gerard_pp

Junior Devvie


Medals: 1



« Reply #2 - Posted 2012-01-31 02:23:50 »

Thanks for the response.

For some reason i cannot see the message of the key being pressed. I get this error:

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

Here is my code with modifications:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Prueba extends Applet implements Runnable, KeyListener{
   String message;
   Thread t;
   int i;
   
   public void init(){
      addKeyListener(this);
      t = new Thread(this);
      t.start();
     
      i = 0;
   }
   
   public void run(){
      while(true){
         i++;
         repaint();
         
         try{
            t.sleep(1000/30);
         }catch(Exception ex){;}  
      }
   }
   public void paint(Graphics g){
      g.drawString("i = "+i, 10, 20);
      g.drawString(message, 50, 80);
   }
   public void keyPressed(KeyEvent e) {
        message = "KEY PRESSED: " + e;
    }
   public void keyTyped(KeyEvent e) {;}
   public void keyReleased(KeyEvent e) {;}
}

Warning: Plz, excuse my bad english...
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline ra4king

JGO Kernel


Medals: 356
Projects: 3
Exp: 5 years


I'm the King!


« Reply #3 - Posted 2012-01-31 03:40:42 »

That's not the entire exception, but it's most likely NullPointerException because the variable "message" is null and you can't draw null strings Wink

Offline gbeebe

Senior Devvie


Medals: 5
Projects: 1



« Reply #4 - Posted 2012-01-31 03:54:29 »

Change the line that reads:
1  
String message;

to:
1  
String message = "";


also, ra4king beat me to it, because I didn't realize I wasn't logged in, and couldn't remember my password Sad
Offline gerard_pp

Junior Devvie


Medals: 1



« Reply #5 - Posted 2012-01-31 10:52:45 »

Thank you all guys. Now it's working.

Warning: Plz, excuse my bad english...
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Elsealabs (9 views)
2014-12-28 10:39:27

CopyableCougar4 (16 views)
2014-12-28 02:10:29

BurntPizza (20 views)
2014-12-27 22:38:51

Mr.CodeIt (13 views)
2014-12-27 04:03:04

TheDudeFromCI (18 views)
2014-12-27 02:14:49

Mr.CodeIt (25 views)
2014-12-23 03:34:11

rwatson462 (56 views)
2014-12-15 09:26:44

Mr.CodeIt (46 views)
2014-12-14 19:50:38

BurntPizza (93 views)
2014-12-09 22:41:13

BurntPizza (113 views)
2014-12-08 04:46:31
How do I start Java Game Development?
by gouessej
2014-12-27 19:41:21

Resources for WIP games
by kpars
2014-12-18 10:26:14

Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!