Философия Java



События и типы слушателей - часть 4


reDisplay( ) создает массив String, называемый rs (для “result set”). Результирующее множество условно копируется из String в n, который содержит “add” и “Listener”. Затем используются indexOf( ) и substring( ) для удаления квалификаторов, таких как public, static и т.п. В конце StripQualifiers.strip( ) удаляет дополнительные квалификаторы имени.

Эта программа - это удобный способ для исследования совместимости компонент Swing. Как только вы узнаете, какие события поддерживает определенный компонент, вам не нужно будет искать ничего, чтобы отреагировать на это событие. Вы просто:

  • Берете имя класса события и удаляете слово “Event”. К остатку прибавляете слово “Listener”. Это интерфейс слушателя, который вы должны реализовать в вашем внутреннем классе.
  • Реализуете вышеупомянутый интерфейс и пишите методы для событий, который вы хотите отслеживать. Например, вы можете следить за движением мыши, тогда вы пишите код метода mouseMoved( ) из интерфейса MouseMotionListener. (Конечно, вы должны реализовать другие методы, но есть сокращения, которые вы скоро увидите.)
  • Создаете объект класса слушателя из Шага 2. Регистрируете его в вашем компоненте с помощью метода, произведенного добавлением “add” к имени вашего слушателя. Например: addMouseMotionListener( ).
  • Вот некоторые из интерфейсов слушателя:

    Интерфейс слушателя

    w/ adapter

    Методы интерфейса

    ActionListener actionPerformed(ActionEvent)
    AdjustmentListener adjustmentValueChanged(

    AdjustmentEvent)

    ComponentListener

    ComponentAdapter

    componentHidden(ComponentEvent)

    componentShown(ComponentEvent)

    componentMoved(ComponentEvent)

    componentResized(ComponentEvent)

    ContainerListener

    ContainerAdapter

    componentAdded(ContainerEvent)

    componentRemoved(ContainerEvent)

    FocusListener

    FocusAdapter

    focusGained(FocusEvent)

    focusLost(FocusEvent)

    KeyListener

    KeyAdapter

    keyPressed(KeyEvent)

    keyReleased(KeyEvent)

    keyTyped(KeyEvent)

    MouseListener

    MouseAdapter

    mouseClicked(MouseEvent)

    mouseEntered(MouseEvent)

    mouseExited(MouseEvent)

    mousePressed(MouseEvent)

    mouseReleased(MouseEvent)

    MouseMotionListener

    MouseMotionAdapter

    mouseDragged(MouseEvent)

    mouseMoved(MouseEvent)

    WindowListener

    WindowAdapter

    windowOpened(WindowEvent)

    windowClosing(WindowEvent)

    windowClosed(WindowEvent)

    windowActivated(WindowEvent)

    windowDeactivated(WindowEvent)

    windowIconified(WindowEvent)

    windowDeiconified(WindowEvent)

    ItemListener itemStateChanged(ItemEvent)

    Это не полный список, частично потому, что событийная модель позволяет вам создавать вам свои собственные типы событий и ассоциированные слушатели. Таким образом, вы регулярно будете просматривать библиотеки, чтобы унаследовать свое собственное событие, и знания, полученные в этой главе, позволят вам понять, как использовать это события.




    Содержание  Назад  Вперед