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

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

  5. import javax.swing.JFrame;
  6. import javax.swing.JPanel;
  7. import javax.swing.border.EmptyBorder;

  8. import java.awt.Toolkit;

  9. import javax.swing.JLabel;
  10. import javax.swing.ImageIcon;
  11. import java.awt.event.KeyAdapter;
  12. import java.awt.event.KeyEvent;

  13. public class Main extends JFrame {

  14.         private JPanel contentPane;
  15.         private ImageIcon icon;
  16.         private int x=100,y=100;

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

  32.         /**
  33.          * Create the frame.
  34.          */
  35.         public Main() {
  36.                
  37.                 icon = new ImageIcon(Main.class.getResource("mochi.png"));
  38.         Image img = icon.getImage().getScaledInstance(399, 300,  java.awt.Image.SCALE_FAST );
  39.     ImageIcon newIcon = new ImageIcon(img);
  40.                
  41.                 setIconImage(Toolkit.getDefaultToolkit().getImage(Main.class.getResource("icon.png")));
  42.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  43.                 setBounds(100, 100, 864, 645);
  44.                 contentPane = new JPanel();
  45.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  46.                 setContentPane(contentPane);
  47.                 contentPane.setLayout(null);
  48.                
  49.                 JLabel label = new JLabel(newIcon);addKeyListener(new KeyAdapter() {
  50.                         @Override
  51.                         public void keyReleased(KeyEvent e) {
  52.                                 if(e.isShiftDown())
  53.                                 {
  54.                                         if(e.getKeyCode() == KeyEvent.VK_UP)
  55.                                 {
  56.                                                
  57.                                         y+=15;
  58.                                         label.setIcon("MochiR.png");
  59.                                 }if(e.getKeyCode() == KeyEvent.VK_DOWN)
  60.                                 {
  61.                                         y-=15;
  62.                                         label.setIcon("MochiR.png");
  63.                                 }if(e.getKeyCode() == KeyEvent.VK_LEFT)
  64.                                 {
  65.                                         x+=15;
  66.                                         label.setIcon("MochiR.png");
  67.                                 }if(e.getKeyCode() == KeyEvent.VK_RIGHT)
  68.                                 {
  69.                                         x-=15;
  70.                                         label.setIcon("MochiR.png");
  71.                                 }
  72.                                 }else
  73.                                 {
  74.                                         if(e.getKeyCode() == KeyEvent.VK_UP)
  75.                                         {
  76.                                                 y-=15;
  77.                                                 label.setIcon("MochiR.png");
  78.                                         }if(e.getKeyCode() == KeyEvent.VK_DOWN)
  79.                                         {
  80.                                                 y+=15;
  81.                                                 label.setIcon("MochiR.png");
  82.                                         }if(e.getKeyCode() == KeyEvent.VK_LEFT)
  83.                                         {
  84.                                                 x-=15;
  85.                                                 label.setIcon("MochiR.png");
  86.                                         }if(e.getKeyCode() == KeyEvent.VK_RIGHT)
  87.                                         {
  88.                                                 label.setIcon("MochiR.png");
  89.                                                 x+=15;
  90.                                         }
  91.                                 }
  92.                                 
  93.                                 
  94.                                 label.setLocation(x,y);
  95.                         }
  96.                 });
  97.                
  98.                 label.addKeyListener(new KeyAdapter() {
  99.                         @Override
  100.                         public void keyReleased(KeyEvent e) {
  101.                                 
  102.                         }
  103.                 });
  104.                
  105.                 label.setBounds(79, 84, 338, 269);
  106.                 contentPane.add(label);
  107.         }
  108. }
複製代碼

TOP

返回列表