本帖最後由 蔡季樺 於 2018-5-26 09:46 編輯
- import java.awt.BorderLayout;
- import java.awt.EventQueue;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.border.EmptyBorder;
- import javax.swing.JLabel;
- import javax.swing.ImageIcon;
- import java.awt.event.KeyAdapter;
- import java.awt.event.KeyEvent;
- public class Main2 extends JFrame {
- private JPanel contentPane;
- private int x=150,y=150;
- private JLabel label;
- /**
- * Launch the application.
- */
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- Main2 frame = new Main2();
- frame.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * Create the frame.
- */
- public Main2() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 450, 300);
- contentPane = new JPanel();
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- contentPane.setLayout(null);
-
- label = new JLabel("");
- label.setIcon(new ImageIcon("C:\\Users\\student\\Downloads\\box.png"));
- label.setBounds(x, y, 45, 40);
- contentPane.add(label);
- test();
-
- }
- public void test()
- {
- Thread t = new Thread()
- {
- public void run()
- {
- addKeyListener(new KeyAdapter() {
- @Override
- public void keyPressed(KeyEvent arg0) {
- System.out.println(arg0.getKeyCode() == KeyEvent.VK_UP);
- if(arg0.getKeyCode() == KeyEvent.VK_UP)
- {
- y+=10;
- }if(arg0.getKeyCode() == KeyEvent.VK_DOWN)
- {
- y-=10;
- }if(arg0.getKeyCode() == KeyEvent.VK_LEFT)
- {
- x-=10;
- }if(arg0.getKeyCode() == KeyEvent.VK_RIGHT)
- {
- x+=10;
- }
- label.setLocation(x, y);
- }
- });
- }
- };
- }
- }
複製代碼 |