Snake Crawling Horiontally : Start And Stop Swing Based Java Program
A user can reset the position of the snake by changing the values in the program provided below .
The program given below is run by giving following inputs
appletviewer SnakeCrawling.java
Remember the above command is to run the program , before that you need to run one more command to get the class file of the program , that is
javac SnakeCrawling.java
The points to understand and learn in this program are :
* It does not matter how many times you call repaint() method , it will only execute once in a method .
Remember the scope we are talking about is method .
* Whenever the repaint() is called , it initialises the applet and then run the paint() method again .
* drawString(s ,x ,y ) takes three parameters where s is the string that needs to show at (x,y) position in the
frame .
Please also note that in the awt and Swing , if we want to do some task or event at the press of button in our
frame then we use event handler. To use event handler , here , on pressing the button .
First step is to implement the ActionListener interface .Then we need to override the actionPerformed(event)
method . In the actionPerformed method , the action to perform after pressing the button ,code is written .
Here you can also make the snake move vertically ,what you need to do is that increment y with 10 each time in the for loop of the paint method .
In the last part of the code we are checking whether the snake does not cross the frame .
if(x>285)
If it does then we are calling repaint() which actually initialises the paint method again , and our snake will continue to crawl in the frame horizontally.
There is another important thing in the code , to make the java compiler understand that its a Applet file we need to write the following code in the java program
/* <APPLET CODE=ClassName.class WIDTH=X HEIGHT=Y></APPLET> */
Without the above line the java compiler will treat the code as simple java program . But the above line helps java compiler to make the code appletviewer compatible.
Demo :
Please find the Code below :
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
/* */
public class SnakeCrawling extends Applet implements ActionListener
{
int x=10,y=20,i,s=0,k=0;
Button b1,b2;
public void init()
{
setLayout(null);
b1=new Button("Start");
b2=new Button("Stop");
add(b1);
add(b2);
b1.setBounds(50,220,60,40);
b2.setBounds(200,220,60,40);
b1.addActionListener(this);
b2.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
repaint();
if(e.getSource()==b2)
{
k=1;
repaint();
}
}
public void paint(Graphics g)
{
if(s==1)
{
for(i=0;i<1;i++)
{
System.out.println("helooo");
g.drawString("*",x,y);
g.drawString("*",x+10,y);
g.drawString("*",x+20,y);
g.drawString("*",x+30,y);
if(k==1)
break;
x=x+40;
// repaint();
System.out.println("over ");
try
{
Thread.sleep(300);
}
catch(InterruptedException e1)
{}
System.out.println("oleeee");
if(x>285)
x=10;
repaint();
}
}
if(s==0)
{
g.drawString("*",0,20);
g.drawString("*",10,20);
g.drawString("*",20,20);
g.drawString("*",30,20);
s++;
}
}
}
Snake Crawling Horiontally : Start And Stop Swing Based Java Program
Reviewed by Anonymous J
on
03:29
Rating:
![Snake Crawling Horiontally : Start And Stop Swing Based Java Program](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguLXq7ox84MHps7GSGTDP2v1GI9W4zVH2LW7q6gKQ9PPG3IONpc8-gnbs9RTxmZ9N7fAx4bxaqYxOocoPMjA46XzvKZjaA6Vt6MbFG4bBLMoCXHPbFDOhuOXOGEr4MsbsGhWLXG7w3loWy/s72-c/SnakeCrawling.jpg)
No comments: