Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- HTTP
- 개미수열
- 브로틀리
- jsr380
- brotli
- kotliln
- 알게뭐냐
- 워드프레스
- 지뢰찾기
- 이렇게살아야되나자괴감이
- 스프링
- 알고리즘
- Kotlin
- cache-control
- etag
- Spring
- 클래스레벨밸리데이션
- cross parameter
- 코드스피츠
- i18n
- 지수반등
- jsr303
- 리얼월드HTTP
- 랜선아미안해
- LastModified
Archives
- Today
- Total
취미개발 블로그와 마음수양
마우스나 키보드로 네모박스 움직이기.. 본문
아 재밌다....ㅋㅋㅋ
패널 따로 해서 이미지 처리하는게..관건이었다. 키보드도 관건이었고... 음..
package 챕16이벤트; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Quest04 extends JFrame implements ActionListener{ static int x = 230, y = 40; JPanel panel1 = new MyPanel(); JPanel panel2 = new JPanel(); JButton button1, button2; class MyPanel extends JPanel { public MyPanel(){ addKeyListener(new KeyListener(){ public void keyPressed(KeyEvent e){ System.out.println("키가 눌려졌다! "); int keycode = e.getKeyCode(); switch(keycode){ case KeyEvent.VK_LEFT : x-=20; repaint(); break; case KeyEvent.VK_RIGHT : x+= 20; repaint(); break; } } @Override public void keyReleased(KeyEvent arg0) { //System.out.println("키가 눌려졌다! "); } @Override public void keyTyped(KeyEvent arg0) { //System.out.println("키가 눌려졌다! "); } }); this.requestFocus(); setFocusable(true); } public void paint(Graphics g) { super.paint(g); g.setColor(Color.black); g.fillRect(x, y, 40, 200); } } Quest04() { setSize(500, 400); setTitle("박스 움직이기"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new BorderLayout()); // 패널설정 panel1.setSize(500, 400); panel1.setBackground(Color.yellow); panel2.setSize(500, 100); panel2.setBackground(Color.red); panel2.setLayout(new FlowLayout()); // 패널1설정은 이미지패널로 위에서 따로 클래스 처리 // 패널2설정 button1 = new JButton("왼쪽으로 이동"); button2 = new JButton("오른쪽으로 이동"); panel2.add(button1); panel2.add(button2); button1.addActionListener(this); button2.addActionListener(this); // 최종 실행 add(panel1, BorderLayout.CENTER); add(panel2, BorderLayout.SOUTH); setVisible(true); } @Override public void actionPerformed(ActionEvent g) { if (g.getSource() == button1) { System.out.println("왼쪽으로 이동 입력됨"); x -= 20; repaint(); } if (g.getSource() == button2) { System.out.println("오른쪽으로 이동 입력됨"); x += 20; repaint(); } } public static void main(String[] args) { new Quest04(); } }
'Language > java소스' 카테고리의 다른 글
학원에서 했던 첫번째 시험~g (0) | 2014.04.16 |
---|---|
마우스 움직임 인식 예제 (0) | 2014.04.15 |
자바 슬롯머신 ( 글씨 대신 이미지로 숫자 변환) (0) | 2014.04.14 |
자바 슬롯머신 (0) | 2014.04.14 |
카운트 버튼으로 카운터 하는 프로그램 (0) | 2014.04.14 |