返回列表 發帖

鍵盤事件 (二)

承上個主題,判斷 Shift 鍵是否被按住,使執行時若搭配 Shift 鍵,則上下左右鍵所造成的方向會顛倒。

  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.ImageIcon;
  4. import java.awt.event.KeyAdapter;
  5. import java.awt.event.KeyEvent;
  6. public class Ch90 extends KeyAdapter{

  7.         JFrame fm;
  8.         JLabel lb;
  9.         ImageIcon ii,ic;
  10.         int x=200, y=100;
  11.        
  12.         Ch90()
  13.         {
  14.                 ic=new ImageIcon(Ch90.class.getResource("pic/icon.png"));
  15.                 ii=new ImageIcon(Ch90.class.getResource("pic/baby.png"));
  16.                
  17.                 lb=new JLabel(ii);
  18.                 lb.setBounds(x, y, 128, 128);
  19.                
  20.                 fm=new JFrame("鍵盤事件");
  21.                 fm.setIconImage(ic.getImage());
  22.                 fm.setBounds(100, 100, 500, 350);
  23.                 fm.setVisible(true);
  24.                 fm.setResizable(true);
  25.                 fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  26.                 fm.setLayout(null);
  27.                 fm.add(lb);
  28.                 fm.addKeyListener(this);
  29.         }
  30.        
  31.         public void keyPressed(KeyEvent e)
  32.         {
  33.                 if(e.isShiftDown()==false)
  34.                 {
  35.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  36.                                 y-=5;
  37.                         if(e.getKeyCode()==KeyEvent.VK_DOWN)
  38.                                 y+=5;
  39.                         if(e.getKeyCode()==KeyEvent.VK_LEFT)
  40.                                 x-=5;
  41.                         if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  42.                                 x+=5;
  43.                 }else
  44.                 {
  45.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  46.                                 y+=5;
  47.                         if(e.getKeyCode()==KeyEvent.VK_DOWN)
  48.                                 y-=5;
  49.                         if(e.getKeyCode()==KeyEvent.VK_LEFT)
  50.                                 x+=5;
  51.                         if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  52.                                 x-=5;
  53.                 }
  54.                 lb.setLocation(x, y);
  55.         }
  56.        
  57.         public static void main(String[] args) {
  58.                 new Ch90();
  59.         }

  60. }
複製代碼

本帖最後由 蔡幸融 於 2019-5-11 14:20 編輯
  1. import java.awt.event.KeyEvent;
  2. import java.awt.event.KeyListener;
  3. import javax.swing.ImageIcon;
  4. import javax.swing.JFrame;
  5. import javax.swing.JLabel;

  6. public class Ch87 implements KeyListener{
  7.        
  8.         JFrame fm;
  9.         JLabel lb;
  10.         ImageIcon ic, baby;
  11.         int x=100, y=100;
  12.        
  13.         Ch87()
  14.         {
  15.                 ic=new ImageIcon(Ch87.class.getResource("pic/icon.png"));
  16.                 baby=new ImageIcon(Ch87.class.getResource("pic/baby.png"));
  17.                
  18.                 lb=new JLabel(baby);
  19.                 lb.setBounds(x, y, 128, 128);
  20.                
  21.             fm=new JFrame("靈異事件");
  22.             fm.setIconImage(ic.getImage());
  23.             fm.setBounds(100, 100, 410, 320);
  24.             fm.setVisible(true);
  25.             fm.setResizable(false);
  26.             fm.setLayout(null);
  27.             fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  28.             fm.add(lb);
  29.             fm.addKeyListener(this);
  30.         }
  31.         @Override
  32.         public void keyPressed(KeyEvent e) {
  33.                 if(e.isShiftDown()==false)
  34.                 {
  35.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  36.                         {
  37.                                 y-=5;
  38.                         }
  39.                         if(e.getKeyCode()==KeyEvent.VK_DOWN)
  40.                         {
  41.                                 y+=5;
  42.                         }
  43.                         if(e.getKeyCode()==KeyEvent.VK_LEFT)
  44.                         {
  45.                                 x-=5;
  46.                         }
  47.                         if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  48.                         {
  49.                                 x+=5;
  50.                         }
  51.                 }
  52.                 if(e.isShiftDown()==true)
  53.                 {
  54.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  55.                         {
  56.                                 y+=5;
  57.                         }
  58.                         if(e.getKeyCode()==KeyEvent.VK_DOWN)
  59.                         {
  60.                                 y-=5;
  61.                         }
  62.                         if(e.getKeyCode()==KeyEvent.VK_LEFT)
  63.                         {
  64.                                 x+=5;
  65.                         }
  66.                         if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  67.                         {
  68.                                 x-=5;
  69.                         }
  70.                 }
  71.                
  72.                 lb.setLocation(x, y);
  73.         }
  74.        
  75.         @Override
  76.         public void keyReleased(KeyEvent e) {}

  77.         @Override
  78.         public void keyTyped(KeyEvent e) {}
  79.         public static void main(String[] args) {
  80.         new Ch87();
  81.         }
  82. }
複製代碼

TOP

  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.ImageIcon;
  4. import java.awt.event.KeyAdapter;
  5. import java.awt.event.KeyEvent;
  6. public class Ch90 extends KeyAdapter{

  7.         JFrame fm;
  8.         JLabel lb;
  9.         ImageIcon ii,ic;
  10.         int x=200, y=100;
  11.         
  12.         Ch90()
  13.         {
  14.                 ic=new ImageIcon(Ch90.class.getResource("pic/icon.png"));
  15.                 ii=new ImageIcon(Ch90.class.getResource("pic/baby.png"));
  16.                
  17.                 lb=new JLabel(ii);
  18.                 lb.setBounds(x, y, 128, 128);
  19.                
  20.                 fm=new JFrame("鍵盤事件");
  21.                 fm.setIconImage(ic.getImage());
  22.                 fm.setBounds(100, 100, 500, 350);
  23.                 fm.setVisible(true);
  24.                 fm.setResizable(true);
  25.                 fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  26.                 fm.setLayout(null);
  27.                 fm.add(lb);
  28.                 fm.addKeyListener(this);
  29.         }
  30.         
  31.         public void keyPressed(KeyEvent e)
  32.         {
  33.                 if(e.isShiftDown()==false)
  34.                 {
  35.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  36.                                 y-=5;
  37.                         if(e.getKeyCode()==KeyEvent.VK_DOWN)
  38.                                 y+=5;
  39.                         if(e.getKeyCode()==KeyEvent.VK_LEFT)
  40.                                 x-=5;
  41.                         if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  42.                                 x+=5;
  43.                 }else
  44.                 {
  45.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  46.                                 y+=5;
  47.                         if(e.getKeyCode()==KeyEvent.VK_DOWN)
  48.                                 y-=5;
  49.                         if(e.getKeyCode()==KeyEvent.VK_LEFT)
  50.                                 x+=5;
  51.                         if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  52.                                 x-=5;
  53.                 }
  54.                 lb.setLocation(x, y);
  55.         }
  56.         
  57.         public static void main(String[] args) {
  58.                 new Ch90();
  59.         }

  60. }
複製代碼
OrzorzoRZ0rZ0RZORoRZ0rz

TOP

  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.ImageIcon;
  4. import java.awt.event.KeyAdapter;
  5. import java.awt.event.KeyEvent;
  6. public class Ch90 extends KeyAdapter{

  7.         JFrame fm;
  8.         JLabel lb;
  9.         ImageIcon ii,ic;
  10.         int x=200, y=100;
  11.         
  12.         Ch90()
  13.         {
  14.                 ic=new ImageIcon(Ch90.class.getResource("pic/icon.png"));
  15.                 ii=new ImageIcon(Ch90.class.getResource("pic/baby.png"));
  16.                
  17.                 lb=new JLabel(ii);
  18.                 lb.setBounds(x, y, 128, 128);
  19.                
  20.                 fm=new JFrame("鍵盤事件");
  21.                 fm.setIconImage(ic.getImage());
  22.                 fm.setBounds(100, 100, 500, 350);
  23.                 fm.setVisible(true);
  24.                 fm.setResizable(true);
  25.                 fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  26.                 fm.setLayout(null);
  27.                 fm.add(lb);
  28.                 fm.addKeyListener(this);
  29.         }
  30.         
  31.         public void keyPressed(KeyEvent e)
  32.         {
  33.                 if(e.isShiftDown()==false)
  34.                 {
  35.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  36.                                 y-=5;
  37.                         if(e.getKeyCode()==KeyEvent.VK_DOWN)
  38.                                 y+=5;
  39.                         if(e.getKeyCode()==KeyEvent.VK_LEFT)
  40.                                 x-=5;
  41.                         if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  42.                                 x+=5;
  43.                 }else
  44.                 {
  45.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  46.                                 y+=5;
  47.                         if(e.getKeyCode()==KeyEvent.VK_DOWN)
  48.                                 y-=5;
  49.                         if(e.getKeyCode()==KeyEvent.VK_LEFT)
  50.                                 x+=5;
  51.                         if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  52.                                 x-=5;
  53.                 }
  54.                 lb.setLocation(x, y);
  55.         }
  56.         
  57.         public static void main(String[] args) {
  58.                 new Ch90();
  59.         }

  60. }
複製代碼
七日不見 如隔一周

TOP

  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.ImageIcon;
  4. import java.awt.event.KeyAdapter;
  5. import java.awt.event.KeyEvent;
  6. public class Ch90 extends KeyAdapter{

  7.         JFrame fm;
  8.         JLabel lb;
  9.         ImageIcon ii,ic;
  10.         int x=200, y=100;
  11.         
  12.         Ch90()
  13.         {
  14.                 ic=new ImageIcon(Ch90.class.getResource("pic/icon.png"));
  15.                 ii=new ImageIcon(Ch90.class.getResource("pic/baby.png"));
  16.                
  17.                 lb=new JLabel(ii);
  18.                 lb.setBounds(x, y, 128, 128);
  19.                
  20.                 fm=new JFrame("鍵盤事件");
  21.                 fm.setIconImage(ic.getImage());
  22.                 fm.setBounds(100, 100, 500, 350);
  23.                 fm.setVisible(true);
  24.                 fm.setResizable(true);
  25.                 fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  26.                 fm.setLayout(null);
  27.                 fm.add(lb);
  28.                 fm.addKeyListener(this);
  29.         }
  30.         
  31.         public void keyPressed(KeyEvent e)
  32.         {
  33.                 if(e.isShiftDown()==false)
  34.                 {
  35.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  36.                                 y-=5;
  37.                         if(e.getKeyCode()==KeyEvent.VK_DOWN)
  38.                                 y+=5;
  39.                         if(e.getKeyCode()==KeyEvent.VK_LEFT)
  40.                                 x-=5;
  41.                         if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  42.                                 x+=5;
  43.                 }else
  44.                 {
  45.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  46.                                 y+=5;
  47.                         if(e.getKeyCode()==KeyEvent.VK_DOWN)
  48.                                 y-=5;
  49.                         if(e.getKeyCode()==KeyEvent.VK_LEFT)
  50.                                 x+=5;
  51.                         if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  52.                                 x-=5;
  53.                 }
  54.                 lb.setLocation(x, y);
  55.         }
  56.         
  57.         public static void main(String[] args) {
  58.                 new Ch90();
  59.         }

  60. }
複製代碼
一年不見,如隔四季

TOP

  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.ImageIcon;
  4. import java.awt.event.KeyAdapter;
  5. import java.awt.event.KeyEvent;
  6. public class Ch90 extends KeyAdapter{

  7.         JFrame fm;
  8.         JLabel lb;
  9.         ImageIcon ii,ic;
  10.         int x=200, y=100;
  11.         
  12.         Ch90()
  13.         {
  14.                 ic=new ImageIcon(Ch90.class.getResource("pic/icon.png"));
  15.                 ii=new ImageIcon(Ch90.class.getResource("pic/baby.png"));
  16.                
  17.                 lb=new JLabel(ii);
  18.                 lb.setBounds(x, y, 128, 128);
  19.                
  20.                 fm=new JFrame("鍵盤事件");
  21.                 fm.setIconImage(ic.getImage());
  22.                 fm.setBounds(100, 100, 500, 350);
  23.                 fm.setVisible(true);
  24.                 fm.setResizable(true);
  25.                 fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  26.                 fm.setLayout(null);
  27.                 fm.add(lb);
  28.                 fm.addKeyListener(this);
  29.         }
  30.         
  31.         public void keyPressed(KeyEvent e)
  32.         {
  33.                 if(e.isShiftDown()==false)
  34.                 {
  35.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  36.                                 y-=5;
  37.                         if(e.getKeyCode()==KeyEvent.VK_DOWN)
  38.                                 y+=5;
  39.                         if(e.getKeyCode()==KeyEvent.VK_LEFT)
  40.                                 x-=5;
  41.                         if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  42.                                 x+=5;
  43.                 }else
  44.                 {
  45.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  46.                                 y+=5;
  47.                         if(e.getKeyCode()==KeyEvent.VK_DOWN)
  48.                                 y-=5;
  49.                         if(e.getKeyCode()==KeyEvent.VK_LEFT)
  50.                                 x+=5;
  51.                         if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  52.                                 x-=5;
  53.                 }
  54.                 lb.setLocation(x, y);
  55.         }
  56.         
  57.         public static void main(String[] args) {
  58.                 new Ch90();
  59.         }

  60. }
複製代碼
高睿辰是幹話之王

TOP

  1. import java.awt.event.KeyEvent;
  2. import java.awt.event.KeyListener;
  3. import javax.swing.ImageIcon;
  4. import javax.swing.JFrame;
  5. import javax.swing.JLabel;

  6. public class Ch99 implements KeyListener{
  7.         
  8.         JFrame fm;
  9.         JLabel lb;
  10.         ImageIcon baby;
  11.         int x=100, y=100;
  12.         
  13.         Ch99()
  14.         {
  15.                 baby=new ImageIcon(Ch99.class.getResource("pic/baby.jpg"));
  16.                
  17.                 lb=new JLabel(baby);
  18.                 lb.setBounds(x, y, 128, 128);
  19.                
  20.             fm=new JFrame("Weird Baby");
  21.             fm.setBounds(100, 100, 410, 320);
  22.             fm.setVisible(true);
  23.             fm.setResizable(false);
  24.             fm.setLayout(null);
  25.             fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  26.             fm.add(lb);
  27.             fm.addKeyListener(this);
  28.         }
  29.         @Override
  30.         public void keyPressed(KeyEvent e) {
  31.                 if(e.isShiftDown()==false)
  32.                 {
  33.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  34.                         {
  35.                                 y-=5;
  36.                         }
  37.                         if(e.getKeyCode()==KeyEvent.VK_DOWN)
  38.                         {
  39.                                 y+=5;
  40.                         }
  41.                         if(e.getKeyCode()==KeyEvent.VK_LEFT)
  42.                         {
  43.                                 x-=5;
  44.                         }
  45.                         if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  46.                         {
  47.                                 x+=5;
  48.                         }
  49.                 }
  50.                 if(e.isShiftDown()==true)
  51.                 {
  52.                         if(e.getKeyCode()==KeyEvent.VK_UP)
  53.                         {
  54.                                 y+=5;
  55.                         }
  56.                         if(e.getKeyCode()==KeyEvent.VK_DOWN)
  57.                         {
  58.                                 y-=5;
  59.                         }
  60.                         if(e.getKeyCode()==KeyEvent.VK_LEFT)
  61.                         {
  62.                                 x+=5;
  63.                         }
  64.                         if(e.getKeyCode()==KeyEvent.VK_RIGHT)
  65.                         {
  66.                                 x-=5;
  67.                         }
  68.                 }
  69.                
  70.                 lb.setLocation(x, y);
  71.         }
  72.         
  73.         @Override
  74.         public void keyReleased(KeyEvent e) {}

  75.         @Override
  76.         public void keyTyped(KeyEvent e) {}
  77.         public static void main(String[] args) {
  78.         new Ch99();
  79.         }
  80. }
複製代碼

TOP

返回列表