Import Javax.swing.JFrame;
Import Java.awt.event.KeyListener;
Import java.awt.event.KeyEvent;
Import Java.awt.Color;
Import Javax.swing.JPanel;
Import Java.awt.Graphics;
public class Myball extends jframe{
Ballpanel BP;
Public Myball () {
Bp=new Ballpanel ();
Thread t=new thread (BP);
T.start ();
bp. Addkeylistener (BP);
This.addkeylistener (BP);
This.add (BP);
This.setsize (400,500);
This.setbackground (New Color (50,200,120));
This.setlocationrelativeto (NULL);
This.setlocation (300,100);
This.setdefaultcloseoperation (Jframe.exit_on_close);
}
public static void Main (string[] args) {
Myball my=new Myball ();
My.setvisible (TRUE);
}
}
Class Ballpanel extends JPanel implements runnable,keylistener{
private int x=50;
private int y=50;
int flag=0;
Public Ballpanel () {
This.setbackground (New Color (50,200,120));
}
public void Paint (Graphics g) {
Super.paint (g);
G.filloval (x, y,30,30);
}
public void keypressed (KeyEvent e) {
if (E.getkeycode () ==37) {
x--;
}
if (E.getkeycode () ==38) {
y--;
}
if (E.getkeycode () ==39) {
x + +;
}
if (E.getkeycode () ==40) {
y++;
}
System.out.println (E.getkeychar ());
This.repaint ();
}
public void keyreleased (KeyEvent e) {
}
public void keytyped (KeyEvent e) {
}
public void Run () {
while (true) {
if (flag==0) {
x + +;
y++;
}
if (flag==1) {
x--;
y++;
}
if (flag==2) {
x--;
y--;
}
if (flag==3) {
x + +;
y--;
}
if (x>340) {
if (flag==0) {
flag=1;
}else{
flag=2;
}
}
if (y>430) {
if (flag==1) {
flag=2;
}else{
flag=3;
}
}
if (x<0) {
if (flag==2) {
flag=3;
}else{
flag=0;
}
}
if (y<0) {
if (flag==3) {
flag=0;
}else{
flag=1;
}
}
try{
Thread.Sleep (5);
}catch (Exception e) {
}
This.repaint ();
}
}
}
Using Java to achieve a small ball wall