티스토리 뷰
import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JTextArea; // ActionEvenct 처리 -> ActionListener // KeyEvent 처리 -> KeyListener // MouseEvent 처리 -> MouseListenera // 키 입력 이벤트 처리 인터페이스 KeyListener 구현 class MyFrame5 extends JFrame implements KeyListener{ JTextArea ta = new JTextArea(); public MyFrame5(){ ta.addKeyListener(this); add(ta); setSize(300,200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } // 키가 눌려진 상태일 때의 동작을 정의 @Override public void keyPressed(KeyEvent e) { String s = e.getKeyChar() + " " + e.getKeyCode() + " " + "ALT " + e.isAltDown() + " " + "SHIFT " + e.isShiftDown() + " " + "CTRL " + e.isControlDown() + " " ; System.out.println(s); } // 키를 눌렀다 뗐을 때의 동작을 정의 @Override public void keyReleased(KeyEvent e) { } // 글자가 입력됐을 때의 동작을 정의 @Override public void keyTyped(KeyEvent e) { // TODO 자동 생성된 메소드 스텁 } } public class 키이벤트1 { public static void main(String[] args) { new MyFrame5(); } }
import java.awt.Color; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JPanel; class MyFrame6 extends JFrame implements KeyListener{ JPanel p = new JPanel(); int x=0, y=0; public MyFrame6(){ setLayout(null); p.setBounds(x, y, 50, 50); p.setBackground(Color.RED); addKeyListener(this); add(p); setSize(600,600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } @Override public void keyPressed(KeyEvent e) { int keyCord = e.getKeyCode(); switch(keyCord){ case KeyEvent.VK_LEFT : x -= 10; break; case KeyEvent.VK_UP : y -= 10; break; case KeyEvent.VK_RIGHT : x += 10; break; case KeyEvent.VK_DOWN : y += 10; break; } p.setLocation(x,y); } @Override public void keyReleased(KeyEvent e) { } @Override public void keyTyped(KeyEvent e) { } } public class 키이벤트2 { public static void main(String[] args) { new MyFrame6(); } }
import java.awt.Color; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JPanel; class MyFrame6_2 extends JFrame implements KeyListener{ JPanel p = new JPanel(); int x=0, y=0; public MyFrame6_2(){ setLayout(null); p.setBounds(x, y, 50, 50); p.setBackground(Color.RED); addKeyListener(this); add(p); setSize(600,600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } @Override public void keyPressed(KeyEvent e) { } @Override public void keyReleased(KeyEvent e) { int keyCord = e.getKeyCode(); switch(keyCord){ case KeyEvent.VK_LEFT : x -= 10; break; case KeyEvent.VK_UP : y -= 10; break; case KeyEvent.VK_RIGHT : x += 10; break; case KeyEvent.VK_DOWN : y += 10; break; } p.setLocation(x,y); } @Override public void keyTyped(KeyEvent e) { } } public class 키이벤트2_2 { public static void main(String[] args) { new MyFrame6_2(); } }
'JAVA > PRIMER' 카테고리의 다른 글
[JAVA] JPanel - paintComponent (0) | 2018.04.19 |
---|---|
[JAVA] GUI - 마우스 이벤트 (0) | 2018.04.19 |
[JAVA] GUI - JTextField, JTextArea (0) | 2018.04.19 |
[JAVA] GUI - 이벤트 (0) | 2018.04.19 |
[JAVA] GUI - 배치관리자 (0) | 2018.04.19 |
댓글