返回列表 發帖
  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.ImageIcon;
  4. import java.awt.event.KeyListener;
  5. import java.awt.event.KeyEvent;

  6. public class Ch90 implements KeyListener {
  7.       
  8.         private JFrame fm;
  9.         private ImageIcon icon1,icon2;
  10.         private JLabel lb;
  11.         private int x=100,y=100;
  12.         Ch90()
  13.         {
  14.                 icon1=new ImageIcon(Ch90.class.getResource("pic/icon.png"));
  15.                 icon2=new ImageIcon(Ch90.class.getResource("pic/baby.png"));
  16.                  
  17.                 lb=new JLabel(icon2);
  18.                 lb.setBounds(x, y, 128, 128);
  19.                        
  20.                 fm=new JFrame("按方向建移動圖形");
  21.                 fm.setIconImage(icon1.getImage());
  22.                 fm.setBounds(100, 100, 410, 320);
  23.                 fm.setVisible(true);
  24.                 fm.setResizable(false);
  25.                 fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  26.                 fm.setLayout(null);
  27.                 fm.addKeyListener(this);
  28.                 fm.add(lb);      
  29.         }

  30.         public void keyPressed(KeyEvent e)
  31.         {   
  32.                 if(e.isShiftDown()==false)
  33.                 {
  34.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  35.                     y-=5;
  36.             if(e.getKeyCode()==KeyEvent.VK_DOWN)
  37.                     y+=5;
  38.             if(e.getKeyCode()==KeyEvent.VK_LEFT)
  39.                     x-=5;
  40.             if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  41.                     x+=5;
  42.             lb.setLocation(x, y);
  43.                 }
  44.                 else
  45.                 {
  46.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  47.                     y+=5;
  48.             if(e.getKeyCode()==KeyEvent.VK_DOWN)
  49.                     y-=5;
  50.             if(e.getKeyCode()==KeyEvent.VK_LEFT)
  51.                     x+=5;
  52.             if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  53.                     x-=5;
  54.             lb.setLocation(x, y);
  55.                 }
  56.                
  57.         }
  58.         public void keyReleased(KeyEvent e){}
  59.         public void keyTyped(KeyEvent e){}
  60.       
  61.         public static void main(String[] args) {
  62.                 new Ch90();
  63.         }
  64. }
複製代碼

TOP

返回列表