返回列表 發帖
本帖最後由 蔡季樺 於 2018-5-26 09:46 編輯
  1. import java.awt.BorderLayout;
  2. import java.awt.EventQueue;

  3. import javax.swing.JFrame;
  4. import javax.swing.JPanel;
  5. import javax.swing.border.EmptyBorder;
  6. import javax.swing.JLabel;
  7. import javax.swing.ImageIcon;
  8. import java.awt.event.KeyAdapter;
  9. import java.awt.event.KeyEvent;


  10. public class Main2 extends JFrame {

  11.         private JPanel contentPane;
  12.         private int x=150,y=150;
  13.         private JLabel label;
  14.         /**
  15.          * Launch the application.
  16.          */
  17.         public static void main(String[] args) {
  18.                 EventQueue.invokeLater(new Runnable() {
  19.                         public void run() {
  20.                                 try {
  21.                                         Main2 frame = new Main2();
  22.                                         frame.setVisible(true);
  23.                                 } catch (Exception e) {
  24.                                         e.printStackTrace();
  25.                                 }
  26.                         }
  27.                 });
  28.         }

  29.         /**
  30.          * Create the frame.
  31.          */
  32.         public Main2() {
  33.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  34.                 setBounds(100, 100, 450, 300);
  35.                 contentPane = new JPanel();
  36.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  37.                 setContentPane(contentPane);
  38.                 contentPane.setLayout(null);
  39.                
  40.                 label = new JLabel("");
  41.                 label.setIcon(new ImageIcon("C:\\Users\\student\\Downloads\\box.png"));
  42.                 label.setBounds(x, y, 45, 40);
  43.                 contentPane.add(label);
  44.                 test();
  45.                
  46.         }
  47.         public void test()
  48.         {
  49.                 Thread t = new Thread()
  50.         {
  51.                         public void run()
  52.                         {
  53.                                 addKeyListener(new KeyAdapter() {
  54.                                         @Override
  55.                                         public void keyPressed(KeyEvent arg0) {
  56.                                                 System.out.println(arg0.getKeyCode() == KeyEvent.VK_UP);
  57.                                                 if(arg0.getKeyCode() == KeyEvent.VK_UP)
  58.                                                 {
  59.                                                         y+=10;
  60.                                                 }if(arg0.getKeyCode() == KeyEvent.VK_DOWN)
  61.                                                 {
  62.                                                         y-=10;
  63.                                                 }if(arg0.getKeyCode() == KeyEvent.VK_LEFT)
  64.                                                 {
  65.                                                         x-=10;
  66.                                                 }if(arg0.getKeyCode() == KeyEvent.VK_RIGHT)
  67.                                                 {
  68.                                                         x+=10;
  69.                                                 }
  70.                                                 label.setLocation(x, y);
  71.                                         }
  72.                                 });
  73.                         }
  74.         };
  75.         }
  76. }
複製代碼

TOP

返回列表