[네트워크 프로그래밍2]연습문제 10장(이론)

류명운

·

2015. 9. 19. 12:34

반응형


연습문제10장이론-류명운.hwp


1. 이벤트를 발생시키는 컴포넌트를 뜻한다.

 

2. (4) 마우스 드래깅 길이 ->마우스 드래깅 길이 정보는 가지고 있지 않다.

 

3.

class MyActionListener implements ActionListener {

  public void actionPerformed(ActionEvent e) {

    System.exit(0); // 프로그램 종료

  }

}


4. (4) 모든 컴포넌트가 모든 이벤트를 처리할 수 있다. -> 컴포넌트에 따라 처리하지 못하는 이벤트가 존재한다.

 

5.

JButton btn = new JButton("Hello");

btn.addActionListener(new ActionListenner(){

  public void actionPerformed(ActionEvent e){

    System.out.println("Click");

  }

}

};

 

6.

JButton btn = new JButton("Hello");

btn.addKeyListener(new KeyAdapter() {

  public void KeyReleased(KeyEvent e) {

    System.out.println("Key Released");

  }

}

};


7.

class MyActionListener extends ActionAdapter {

  public void actionPerformed(ActionEvent e) {

    System.out.println("Click");

  }

 1) extends ActionAdapter ->

implements ActionListener로 수정

2) 마지막 줄에 }중괄호 추가


class MyMouseListener implements MouseListener{

  public void mousePressed(MouseEvent e) {

    System.out.println("Mouse Pressed");

  }

}

 implements MouseListener ->

extends MouseAdapter로 수정

//인터페이스의 경우 메소드를 모두구현해야 됨

 


class MyKeyListener extends KeyAdapter {

  public void keyTyped(ActionEvent e) {

    System.out.println("Key Pressed");

  }

}

 ActionEvent -> KeyEvent로 수정

// Key 이벤트가 발생하면 KeyEvent객체가 생성 됨

 

8.

3

2

1


9. (1) ItemListener

 

10. component에게 포커스를 준다. component가 모든 키 입력을 현재 특점하게 된다.

 

11. <Alt>, <Tab>, <Delete>, <Shift>, <Help>

 

12. 유니코드 키가 아닌 경우 키보드나 시스템마다 키 코드가 서로 다를 수 있기 떄문에, 개발자는 입력된 키 코드와 가상 키 값을 비교하여야 한다. 가상 키는 실행되는 시스템에 적합한 키 코드 값이 설치된다.

 

13. a 키는 유니코드 키가 아니므로 keyPressed(), keyTyped(), keyReleased() 메소드 순으로 호출된다.

 

14. <Esc> 키는 유니코드 키가 아니므로 keyPressed(), keyReleased() 메소드 순으로 호출된다. keyTyped()는 호출되지 않는다.

 

15.

public void keyPressed(KeyEvent e) {

  if(e.getKeyChar() == ‘k’)

  System.exit(0);


16.

class MyKeyListener extends KeyAdapter {

  public void keyPressed(KeyEvent e) {

    Container c = (Container)e.getSource();

    c.setBackground(Color.CYAN);

  }

}


반응형