⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frame1.java

📁 本程序可以实现一个小车可有人工控制其走动
💻 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 + -