本帖最後由 張健勳 於 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);
} |