返回列表 發帖
  1. package bbs.istak.org.tw;

  2. import java.awt.BorderLayout;
  3. import java.awt.EventQueue;

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

  11. public class Main extends JFrame {

  12.         private JPanel contentPane;

  13.         /**
  14.          * Launch the application.
  15.          */
  16.         public static void main(String[] args) {
  17.                 EventQueue.invokeLater(new Runnable() {
  18.                         public void run() {
  19.                                 try {
  20.                                         Main frame = new Main();
  21.                                         frame.setVisible(true);
  22.                                 } catch (Exception e) {
  23.                                         e.printStackTrace();
  24.                                 }
  25.                         }
  26.                 });
  27.         }

  28.         /**
  29.          * Create the frame.
  30.          */
  31.         public Main() {
  32.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  33.                 setBounds(100, 100, 476, 375);
  34.                 contentPane = new JPanel();
  35.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  36.                 setContentPane(contentPane);
  37.                 contentPane.setLayout(null);
  38.                
  39.                 JLabel lblNewLabel = new JLabel("");
  40.                 lblNewLabel.setIcon(new ImageIcon(Main.class.getResource("/bbs/istak/org/tw/box.png")));
  41.                 lblNewLabel.setBounds(99, 105, 46, 44);
  42.                 contentPane.add(lblNewLabel);
  43.                 addKeyListener(new KeyAdapter() {
  44.                         @Override
  45.                         public void keyPressed(KeyEvent arg0) {
  46.                                 int x = lblNewLabel.getLocation().x;
  47.                                 int y = lblNewLabel.getLocation().y;
  48.                                 switch(arg0.getKeyCode())
  49.                                 {
  50.                                     case 38:
  51.                                         y-=5;
  52.                                             break;
  53.                                     case 40:
  54.                                             y+=5;
  55.                                             break;
  56.                                     case 37:
  57.                                             x-=5;
  58.                                             break;
  59.                                     case 39:
  60.                                             x+=5;
  61.                                             break;
  62.                                     default:
  63.                                             break;
  64.                                 }
  65.                                 lblNewLabel.setLocation(x, y);
  66.                         }
  67.                 });
  68.         }
  69. }
複製代碼

TOP

返回列表