자바실습 예제
//MouseEventDemo1.java import java.awt.*; import java.awt.event.*; import java.applet.*; public class MouseEventDemo1 extends Applet implements MouseListener { // MouseListener 인터페이스를 이용하여 클래스를 생성 String msg = ""; int Xpoint = 0, Ypoint = 0; public void init() { addMouseListener(this); // 리스너를 애플릿에 등록 } public void mouseClicked(MouseEvent me) { // 마우스를 같은 장소에서 누르고 띨때 수행되는 메소드 // 만일 한 점에서 마우스를 누르고 움직인 다음 다른 점에서 마우스를 띠면 // 수행되지 않는다 Xpoint = 0; Ypoint = 15; msg = msg + "mouseClicked 메소드 수행 " + me.getX() + "," + me.getY(); repaint(); } public void mouseEntered(MouseEvent me) { // 마우스가 애플릿 내에 있으면 수행 Xpoint = 0; Ypoint = 15; msg = "mouseEntered 메소드 수행"; repaint(); } public void mouseExited(MouseEvent me) { // 마우스가 애플릿을 벗어나면 수행 msg = "mouseExited 메소드 수행"; repaint(); } public void mousePressed(MouseEvent me) { // 마우스가 눌려지면 수행 Xpoint = 0; Ypoint = 40; msg = "mousePressed 메소드 수행 " + me.getX() + "," + me.getY(); repaint(); } public void mouseReleased(MouseEvent me) { // 마우스가 띠어지면 수행 Xpoint = 0; Ypoint = 70; msg = "mouseReleased 메소드 수행 " + me.getX() + "," + me.getY(); repaint(); } public void paint(Graphics g) { g.drawString(msg, Xpoint, Ypoint); } } //MouseEventDemo2.java import java.applet.*; import java.awt.*; import java.awt.event.*; public class MouseEventDemo2 extends Applet implements MouseListener, MouseMotionListener { // 마우스의 drag 동작을 처리하기 위해 MouseMotionListner를 포함하여 // 클래스 작성 Point p1, p2; // Point 객체 선언 public void init() { addMouseListener(this); addMouseMotionListener(this); // 리스너를 등록 } public void mouseClicked(MouseEvent me) { // 리스너 인터페이스를 사용하였으므로 이 메소드에서 // 처리할 일이 없어도 인터페이스에서 선언된 모든 메소드를 // 반드시 중첩하여 선언하여야 한다 } public void mouseEntered(MouseEvent me) { } public void mouseExited(MouseEvent me) { } public void mousePressed(MouseEvent me) { p1 = me.getPoint(); // 첫 좌표를 얻는다 } public void mouseReleased(MouseEvent me) { p2 = me.getPoint(); // 마우스가 띠어질 때의 좌표를 얻는다 repaint(); } public void mouseDragged(MouseEvent me) { p2 = me.getPoint(); // 마우스를 누른 상태에서 끌때의 좌표를 얻는다 repaint(); } public void mouseMoved(MouseEvent me) { } public void paint(Graphics g) { if (p1 != null && p2 != null) { g.drawLine(p1.x, p1.y, p2.x, p2.y); } } } //ButtonEventsTest.java import java.applet.*; import java.awt.*; import java.awt.event.*; public class ButtonEventsTest extends Applet implements ActionListener { // ActionListener를 사용하여 클래스를 작성 Label label1, label2; // Label 객체를 선언 String msg = ""; public void init() { Button b1 = new Button("남자"); // 버튼 객체 생성 b1.addActionListener(this); // 생성된 버튼 객체에 ActionListener를 등록 add(b1); // 버튼 객체를 컨테이너 객체인 애플릿에 추가 Button b2 = new Button("여자"); b2.addActionListener(this); add(b2); label1 = new Label("당신의 성별은?"); add(label1); label2 = new Label(" "); add(label2); } public void actionPerformed(ActionEvent ae) { // 버튼이 눌려지면 수행될 이벤트 처리 메소드 작성 label2.setText(ae.getActionCommand()); // ActionEvent 클래스의 getActionCommand() 메소드를 // 이용하여 버튼의 이름을 가져와 label2 객체의 // 텍스트로 나타낸다 } }