註冊
登錄
論壇
搜索
幫助
導航
私人消息 (0)
公共消息 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
種子論壇 | 高雄市資訊培育協會學員討論區
»
結訓課程 (青少年程式設計班)
»
App開發我最棒_六1000_2020
» 鍵盤事件 (三)
返回列表
發帖
發短消息
加為好友
周政輝
當前離線
UID
67742
帖子
692
精華
2
積分
20
閱讀權限
100
在線時間
171 小時
註冊時間
2016-6-18
最後登錄
2024-4-13
版主
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
周政輝
發表於 2018-2-24 11:11
|
只看該作者
鍵盤事件 (三)
承上個主題,判斷 Shift 鍵是否被按住,使執行時若搭配 Shift 鍵,則上下左右鍵所造成的方向會顛倒。
附件:
您需要
登錄
才可以下載或查看附件。沒有帳號?
註冊
收藏
分享
發短消息
加為好友
蔡季樺
當前離線
UID
67682
帖子
302
精華
0
積分
0
閱讀權限
10
在線時間
79 小時
註冊時間
2015-7-2
最後登錄
2024-7-9
新手上路
2
#
蔡季樺
發表於 2018-2-24 11:17
|
只看該作者
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("baby.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("/bbs/istak/org/tw/icon.png")));
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);
JLabel label = new JLabel(newIcon);addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
if(e.isShiftDown())
{
if(e.getKeyCode() == KeyEvent.VK_UP)
{
y+=5;
}if(e.getKeyCode() == KeyEvent.VK_DOWN)
{
y-=5;
}if(e.getKeyCode() == KeyEvent.VK_LEFT)
{
x+=5;
}if(e.getKeyCode() == KeyEvent.VK_RIGHT)
{
x-=5;
}
}else
{
if(e.getKeyCode() == KeyEvent.VK_UP)
{
y-=5;
}if(e.getKeyCode() == KeyEvent.VK_DOWN)
{
y+=5;
}if(e.getKeyCode() == KeyEvent.VK_LEFT)
{
x-=5;
}if(e.getKeyCode() == KeyEvent.VK_RIGHT)
{
x+=5;
}
}
label.setLocation(x,y);
}
});
label.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
}
});
label.setBounds(144, 64, 112, 94);
contentPane.add(label);
}
}
複製代碼
TOP
發短消息
加為好友
陳泓瑜
當前離線
UID
67722
帖子
403
精華
0
積分
0
閱讀權限
10
來自
(22.62952,120.3537983)
在線時間
109 小時
註冊時間
2016-2-1
最後登錄
2024-6-4
新手上路
3
#
陳泓瑜
發表於 2018-2-24 11:20
|
只看該作者
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JLabel;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class MOVE extends JFrame {
private JPanel contentPane;
private int x=150;
private int y=150;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MOVE frame = new MOVE();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MOVE() {
setTitle("\u6309\u65B9\u5411\u9375\u79FB\u52D5\u5716\u5F62");
ImageIcon icon = new ImageIcon(MOVE.class.getResource("icon.png"));
Image img = icon.getImage().getScaledInstance(100,100,Image.SCALE_FAST);
setIconImage(img);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 400, 400);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
ImageIcon imgbaby = new ImageIcon(MOVE.class.getResource("baby.png"));
Image baby = imgbaby.getImage().getScaledInstance(100,100,Image.SCALE_FAST);
ImageIcon babyicon = new ImageIcon(baby);
JLabel label = new JLabel(babyicon);
label.setBounds(150, 150, 100, 100);
contentPane.add(label);
addKeyListener(new KeyAdapter()
{
@Override
public void keyPressed(KeyEvent arg0)
{
if(arg0.isShiftDown())
{
if(arg0.getKeyCode() == KeyEvent.VK_UP)
{
y+=5;
}
if(arg0.getKeyCode() == KeyEvent.VK_DOWN)
{
y-=5;
}
if(arg0.getKeyCode() == KeyEvent.VK_LEFT)
{
x+=5;
}
if(arg0.getKeyCode() == KeyEvent.VK_RIGHT)
{
x-=5;
}
}
else
{
if(arg0.getKeyCode() == KeyEvent.VK_UP)
{
y-=5;
}
if(arg0.getKeyCode() == KeyEvent.VK_DOWN)
{
y+=5;
}
if(arg0.getKeyCode() == KeyEvent.VK_LEFT)
{
x-=5;
}
if(arg0.getKeyCode() == KeyEvent.VK_RIGHT)
{
x+=5;
}
}
label.setBounds(x,y,100,100);
}
});
}
}
複製代碼
TOP
發短消息
加為好友
張健勳
當前離線
UID
67684
帖子
338
精華
0
積分
0
閱讀權限
10
來自
地球的某一個角落
在線時間
74 小時
註冊時間
2015-7-2
最後登錄
2021-6-1
新手上路
4
#
張健勳
發表於 2018-2-24 11:20
|
只看該作者
本帖最後由 張健勳 於 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
發短消息
加為好友
黃茂勛
當前離線
UID
67712
帖子
306
精華
0
積分
0
閱讀權限
10
在線時間
89 小時
註冊時間
2016-1-21
最後登錄
2023-2-7
新手上路
5
#
黃茂勛
發表於 2018-2-24 11:21
|
只看該作者
package bbs.istak.org.tw;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class Main extends JFrame {
private JPanel contentPane;
private int x=100, y=100;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Main frame = new Main();
ImageIcon icon = new ImageIcon(Main.class.getResource("icon.png"));
Image img = icon.getImage().getScaledInstance(45, 45, java.awt.Image.SCALE_FAST);
frame.setIconImage(img);
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Main() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 483, 359);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
ImageIcon icon = new ImageIcon(Main.class.getResource("baby.png"));
Image img = icon.getImage().getScaledInstance(150, 150, java.awt.Image.SCALE_FAST);
ImageIcon temp = new ImageIcon(img);
JLabel lblNewLabel = new JLabel(temp);
lblNewLabel.setBounds(100, 100, 129, 118);
contentPane.add(lblNewLabel);
addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if(e.isShiftDown())
{
if(e.getKeyCode() == KeyEvent.VK_UP)
y+=5;
if(e.getKeyCode() == KeyEvent.VK_DOWN)
y-=5;
if(e.getKeyCode() == KeyEvent.VK_LEFT)
x+=5;
if(e.getKeyCode() == KeyEvent.VK_RIGHT)
x-=5;
}else
{
if(e.getKeyCode() == KeyEvent.VK_UP)
y-=5;
if(e.getKeyCode() == KeyEvent.VK_DOWN)
y+=5;
if(e.getKeyCode() == KeyEvent.VK_LEFT)
x-=5;
if(e.getKeyCode() == KeyEvent.VK_RIGHT)
x+=5;
}
lblNewLabel.setLocation(x, y);
}
});
}
}
複製代碼
TOP
發短消息
加為好友
蔡庭豪
當前離線
UID
67705
帖子
279
精華
0
積分
0
閱讀權限
10
在線時間
64 小時
註冊時間
2015-9-5
最後登錄
2021-4-17
新手上路
6
#
蔡庭豪
發表於 2018-2-24 11:21
|
只看該作者
package bbs.istak.org.tw;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class udicon extends JFrame {
private JPanel contentPane;
private ImageIcon icon;
private int x=168,y=24;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
udicon frame = new udicon();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public udicon() {
setImageIcon("imageicon_2.png");
icon = new ImageIcon(udicon.class.getResource("imageicon_1.png"));
Image img = icon.getImage().getScaledInstance(81,81,java.awt.Image.SCALE_FAST );
ImageIcon newicon = new ImageIcon(img);
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);
JLabel label = new JLabel(newicon);
label.setBounds(168, 24, 81, 81);
label.setLocation(x, y);
contentPane.add(label);
addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if(e.isShiftDown()){
if(e.getKeyCode()==e.VK_LEFT)
x+=3;
if(e.getKeyCode()==e.VK_UP)
y+=3;
if(e.getKeyCode()==e.VK_RIGHT)
x-=3;
if(e.getKeyCode()==e.VK_DOWN)
y-=3;
label.setLocation(x, y);
}
else{
if(e.getKeyCode()==e.VK_LEFT)
x-=3;
if(e.getKeyCode()==e.VK_UP)
y-=3;
if(e.getKeyCode()==e.VK_RIGHT)
x+=3;
if(e.getKeyCode()==e.VK_DOWN)
y+=3;
label.setLocation(x, y);
}
}});
}
private void setImageIcon(String string) {
// TODO 自動產生的方法 Stub
}
}
複製代碼
TOP
發短消息
加為好友
林侑成
當前離線
UID
67644
帖子
424
精華
0
積分
0
閱讀權限
10
來自
mars
在線時間
88 小時
註冊時間
2014-6-30
最後登錄
2024-3-18
新手上路
7
#
林侑成
發表於 2018-2-24 11:27
|
只看該作者
package asdf;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JLabel;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class Asdf extends JFrame {
private JPanel contentPane;
private int x=100;
private int y=100;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Asdf frame = new Asdf();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Asdf() {
setTitle("\u6309\u65B9\u5411\u9375\u79FB\u52D5\u5716\u5F62");
ImageIcon icon = new ImageIcon(Asdf.class.getResource("icon.png"));
Image img = icon.getImage().getScaledInstance(100,100,Image.SCALE_FAST);
setIconImage(img);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 400, 400);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
ImageIcon imgbaby = new ImageIcon(Asdf.class.getResource("baby.png"));
Image baby = imgbaby.getImage().getScaledInstance(100,100,Image.SCALE_FAST);
ImageIcon babyicon = new ImageIcon(baby);
JLabel label = new JLabel(babyicon);
label.setBounds(150, 150, 100, 100);
contentPane.add(label);
addKeyListener(new KeyAdapter()
{
@Override
public void keyPressed(KeyEvent arg0)
{
if(arg0.isShiftDown())
{
if(arg0.getKeyCode() == KeyEvent.VK_UP)
{
y+=5;
}
if(arg0.getKeyCode() == KeyEvent.VK_DOWN)
{
y-=5;
}
if(arg0.getKeyCode() == KeyEvent.VK_LEFT)
{
x+=5;
}
if(arg0.getKeyCode() == KeyEvent.VK_RIGHT)
{
x-=5;
}
}
else
{
if(arg0.getKeyCode() == KeyEvent.VK_UP)
{
y-=5;
}
if(arg0.getKeyCode() == KeyEvent.VK_DOWN)
{
y+=5;
}
if(arg0.getKeyCode() == KeyEvent.VK_LEFT)
{
x-=5;
}
if(arg0.getKeyCode() == KeyEvent.VK_RIGHT)
{
x+=5;
}
}
label.setBounds(x,y,100,100);
}
});
}
}
複製代碼
我是眾神之王XXX I love you
0000000000
TOP
返回列表
谷哥人營隊
113Scratch夏令營
113年APCS冬令營
113年Scratch冬令營
113年Python證照特訓營(一)
113年谷哥人程式體驗營
113年國三專班
Python研習營(113_114)
113年Python證照特訓營(二)
113年程式夏令營(一)(二)
113年APCS夏令營(一)(二)
Python研習營
113年Python研習冬令營
112年國三專班
112APCS夏令營(一)(二)
112App快速開發夏令營
C語言 / C++ (特別輔導)
C++證照
C#
家教特輔
C語言特輔/證照(家教)
C++證照
C#
HTML5+CSS+JavaScript+PHP+MySQL
Java 家教 (王捷恩)
113新版塊名稱
快樂學 Scratch
Python 家教 (王捷恩 康恒睿)
Python 特別輔導 (家教)
快樂 C++ (家教)
我愛 Java (家教)
程式解題我最行 (家教)
程式常態班
C++ 新生挑戰區
考照心得分享
快樂 C++11307週五19:00
快樂C++11309週六13:30-15:30
快樂 C++11303 (週六15:40-17:40) 3F
程式解題我最行 (週六15:30-17:30) 3F
快樂 C++ (週六13:30-15:30) 3F
快樂 C++ (週六19:00-21:00) 3F
程式解題我最行 (週六10:00-12:00) 3F
快樂學 Scratch
程式解題我最行(週五19:00-21:00)
快樂 C++ (週六13:30-15:30) 3F
程式解題我最行(週三19:15-21:15)
快樂 C++11207週六10
快樂 C++11208週六19:00
程式解題我最行 (週五19:00-21:00) 3F
快樂 C++ (週六15:30-17:30) 3F
程式解題我最行 (週六19:00-21:00) 3F
程式解題我最行 (週四19:10-21:10)
產投職訓
結訓課程 (產投職訓)
Php & MySQL old
Illustrator old
Dreamweaver old
Android手機程式開發班
PHP & MySQL電子商務互動式網站實作班 (102下)
PHP & MySQL (102上)
PHP & MySQL電子商務互動式網站實作班
Photoshop數位影像設計初階
Flash創意廣告動畫初階
行銷短片視訊剪輯
數位商業攝影實務班
PHP & MySQL電子商務系統開發實務初階班
電子商務系統開發實務中階班
Server基礎架設&動態網頁設計初階班
Java視窗應用程式設計與遊戲開發班
Illustrator時尚插畫創作設計初階班
102上Php & MySQL 初階班
電子商務互動式網站實作中階
Dreamweaver多媒體網頁設計
Android手機程式開發班(2012年10月)
PHP & MySQL (2012年10月)
創意塗鴉
yahoo橫幅
google橫幅
市民學苑
第二屆樂活部落格
第一屆電腦設備簡易維護和故障排除班
專案訓練
電子商務創業班
TQC PHP認證
投資理財班
領隊導遊班
電腦基礎及網路應用身心障礙專班
應用軟體網頁化開發
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]