佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 791|回复: 0

java code 问题~

[复制链接]
发表于 30-3-2017 03:46 PM | 显示全部楼层 |阅读模式
请问有大神可以帮帮我吗?为什么我的人物射出的子弹只会往下掉,而不能射上去呢??
如果能帮忙真是感激不尽~~
以下是我的code~

1.class Fly
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Image;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.KeyAdapter;
import java.awt.BorderLayout;
import javax.swing.JPanel;

public class Fly extends JFrame implements KeyListener {
        public JLabel l1 = new JLabel();
       
       
        Image Icon1 = new ImageIcon(getClass().getResource("Shoot.png" + "")).getImage().
                        getScaledInstance(100, 100, Image.SCALE_DEFAULT);
        Icon imgIcon1 = new ImageIcon(Icon1);
       
        Image Icon2 = new ImageIcon(getClass().getResource("images.jpg")).getImage().
                        getScaledInstance(100, 100, Image.SCALE_DEFAULT);
        Icon imgIcon2 = new ImageIcon(Icon2);
       
public Fly(){
        super ("Airoplane");
        setLayout(null);
        l1.setIcon(imgIcon1);
        l1.setBounds(200, 350,100,100);
        add(l1);
         this.addKeyListener(this);

}
@Override
public void keyPressed(KeyEvent e){

        if (e.getKeyCode()==KeyEvent.VK_LEFT){
                l1.setLocation(l1.getX()-100,l1.getY());
                repaint();
        }
        if(e.getKeyCode()==KeyEvent.VK_RIGHT){
                l1.setLocation(l1.getX()+100,l1.getY());
                repaint();
        }
        if(e.getKeyCode()==KeyEvent.VK_SPACE){
                JLabel l2 = new JLabel();
                l2.setIcon(imgIcon2);
                add(l2);
                l2.setBounds(l1.getX(),l1.getY(),100,100);
                RunBaby r = new RunBaby(l2);
                r.start();
                repaint();
        }
}

@Override
public void keyReleased(KeyEvent e){
       
}
@Override
public void keyTyped(KeyEvent e){
       
}

}

2.class RunBaby
import javax.swing.JLabel;
public class RunBaby implements Runnable {
        private Thread t ;
        private String threadName;
        private JLabel label;
        RunBaby(JLabel label){
                this.label = label;
        }

        public void run(){
                System.out.print("Running"+threadName);
                try{
                        for(int i = 0; ;i++){
                        label.setLocation(label.getX(),label.getY()+(i%10));
                        Thread.sleep(500);
                        }
                        }
                       
                        catch (InterruptedException e){
                                System.out.println("Thread"+threadName+"interrupted");
                        }
                        System.out.println("Thread"+threadName+"exiting");
                }
       
               
                public void start(){
                        System.out.println("Starting"+threadName);
                        if(t==null){
                                t = new Thread(this);
                                t.start();
                        }
                }
       

}

3.Main Method RunFly
import javax.swing.JFrame;
import javax.swing.JLabel;

public class RunFly {
        public static void main(String [] args){
                Fly f = new Fly();
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                f.setVisible(true);
                f.setSize(500,500);
                f.setResizable(false);
        }
}



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 28-11-2024 05:22 AM , Processed in 0.126573 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表