📄 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;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: </p>
*
* @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);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -