www.pudn.com > 200608171542009938.rar > Frame1.java


package direction; 
 
import java.awt.BorderLayout; 
import java.awt.Dimension; 
import java.awt.Toolkit; 
 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JLabel; 
import javax.swing.Icon; 
import javax.swing.ImageIcon; 
import java.awt.event.KeyEvent; 
import java.awt.event.KeyAdapter; 
 
/** 
 * 

Title:

* *

Description:

* *

Copyright: Copyright (c) 2005

* *

Company:

* * @author not attributable * @version 1.0 */ public class Frame1 extends JFrame implements Runnable{ JPanel contentPane; BorderLayout borderLayout1 = new BorderLayout(); Icon ico=new ImageIcon("image/car.gif"); MyJLabel mjl = new MyJLabel(ico); public Frame1() { try { setDefaultCloseOperation(EXIT_ON_CLOSE); jbInit(); } catch (Exception exception) { exception.printStackTrace(); } } /** * Component initialization. * * @throws java.lang.Exception */ private void jbInit() throws Exception { contentPane = (JPanel) getContentPane(); contentPane.setLayout(null); mjl.setBounds(300,300,100,200); this.addKeyListener(new Frame1_this_keyAdapter(this)); contentPane.add(mjl); setSize(new Dimension(800, 600)); setTitle("Frame Title"); new Thread(mjl).start(); new Thread(new Sound()).start(); } public void this_keyPressed(KeyEvent e) { if(e.getKeyCode()==e.VK_DOWN) mjl.setB(mjl.getB()+10); if(e.getKeyCode()==e.VK_UP) mjl.setB(mjl.getB()-10); if(e.getKeyCode()==e.VK_LEFT) mjl.setA(mjl.getA()-10); if(e.getKeyCode()==e.VK_RIGHT) mjl.setA(mjl.getA()+10); if(e.getKeyCode()==e.VK_SPACE) Toolkit.getDefaultToolkit().beep(); } public void run(){ Thread t = new Thread(mjl); t.start(); } } class MyJLabel extends JLabel implements Runnable{ int a,b; void setA(int a) { this.a=a; } void setB(int b) { this.b=b; } int getA() { return a; } int getB() { return b; } MyJLabel(Icon ico){ super(ico); a =300;b=300; } /* MyJLabel(String[] s){ super(s); } */ public void run(){ while(true) { this.setLocation(30+getA(),60+getB()); System.out.println(this.getLocation().getX()+","+this.getLocation().getY()); System.out.println("***************"); System.out.println("A="+getA()); System.out.println("B="+getB()); try{ setA(getA()+1); //setB(getB()+1); Thread.sleep(100); if(this.getLocation().getX()>200){ //this.invalidate(); //this.disable(); //this.show(false); //Thread.currentThread().stop(); //System.out.println(Thread.currentThread().isInterrupted()); } }catch(Exception e){ } } } } class Frame1_this_keyAdapter extends KeyAdapter { private Frame1 adaptee; Frame1_this_keyAdapter(Frame1 adaptee) { this.adaptee = adaptee; } public void keyPressed(KeyEvent e) { adaptee.this_keyPressed(e); } }