返回列表 發帖
本帖最後由 張健勳 於 2018-3-2 23:12 編輯

package bbs.istak.org.tw;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Image;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

import java.awt.Toolkit;

import javax.swing.JLabel;
import javax.swing.ImageIcon;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

public class Main extends JFrame {

        private JPanel contentPane;
        private ImageIcon icon;
        private int x=100,y=100;

        /**
         * Launch the application.
         */
        public static void main(String[] args) {
                EventQueue.invokeLater(new Runnable() {
                        public void run() {
                                try {
                                        Main frame = new Main();
                                        frame.setVisible(true);
                                } catch (Exception e) {
                                        e.printStackTrace();
                                }
                        }
                });
        }

        /**
         * Create the frame.
         */
        public Main() {
               
                icon = new ImageIcon(Main.class.getResource("mochi.png"));
        Image img = icon.getImage().getScaledInstance(399, 300,  java.awt.Image.SCALE_FAST );
    ImageIcon newIcon = new ImageIcon(img);
               
                setIconImage(Toolkit.getDefaultToolkit().getImage(Main.class.getResource("icon.png")));
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                setBounds(100, 100, 864, 645);
                contentPane = new JPanel();
                contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
                setContentPane(contentPane);
                contentPane.setLayout(null);
               
                JLabel label = new JLabel(newIcon);addKeyListener(new KeyAdapter() {
                        @Override
                        public void keyReleased(KeyEvent e) {
                                if(e.isShiftDown())
                                {
                                        if(e.getKeyCode() == KeyEvent.VK_UP)
                                {
                                        y+=15;
                                }if(e.getKeyCode() == KeyEvent.VK_DOWN)
                                {
                                        y-=15;
                                }if(e.getKeyCode() == KeyEvent.VK_LEFT)
                                {
                                        x+=15;
                                }if(e.getKeyCode() == KeyEvent.VK_RIGHT)
                                {
                                        x-=15;
                                }
                                }else
                                {
                                        if(e.getKeyCode() == KeyEvent.VK_UP)
                                        {
                                                y-=15;
                                        }if(e.getKeyCode() == KeyEvent.VK_DOWN)
                                        {
                                                y+=15;
                                        }if(e.getKeyCode() == KeyEvent.VK_LEFT)
                                        {
                                                x-=15;
                                        }if(e.getKeyCode() == KeyEvent.VK_RIGHT)
                                        {
                                                x+=15;
                                        }
                                }
                                
                                
                                label.setLocation(x,y);
                        }
                });
               
                label.addKeyListener(new KeyAdapter() {
                        @Override
                        public void keyReleased(KeyEvent e) {
                                
                        }
                });
               
                label.setBounds(50, -18, 338, 269);
                contentPane.add(label);
        }

TOP

返回列表