<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSwing_Event%2FEvent_Adapter</id>
		<title>Java Tutorial/Swing Event/Event Adapter - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSwing_Event%2FEvent_Adapter"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing_Event/Event_Adapter&amp;action=history"/>
		<updated>2026-04-11T13:16:44Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Swing_Event/Event_Adapter&amp;diff=2839&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing_Event/Event_Adapter&amp;diff=2839&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:26Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:44, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Swing_Event/Event_Adapter&amp;diff=2840&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing_Event/Event_Adapter&amp;diff=2840&amp;oldid=prev"/>
				<updated>2010-05-31T15:18:23Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Multiple sources: A listener can be plugged into several sources. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
class ButtonListener implements ActionListener {&lt;br /&gt;
  public void actionPerformed(ActionEvent e) {&lt;br /&gt;
    JButton o = (JButton) e.getSource();&lt;br /&gt;
    String label = o.getText();&lt;br /&gt;
    System.out.println(label + &amp;quot; button clicked&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class MultipleSources {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    JPanel panel = new JPanel();&lt;br /&gt;
    JButton close = new JButton(&amp;quot;Close&amp;quot;);&lt;br /&gt;
    close.addActionListener(new ButtonListener());&lt;br /&gt;
    JButton open = new JButton(&amp;quot;Open&amp;quot;);&lt;br /&gt;
    open.addActionListener(new ButtonListener());&lt;br /&gt;
    JButton find = new JButton(&amp;quot;Find&amp;quot;);&lt;br /&gt;
    find.addActionListener(new ButtonListener());&lt;br /&gt;
    JButton save = new JButton(&amp;quot;Save&amp;quot;);&lt;br /&gt;
    save.addActionListener(new ButtonListener());&lt;br /&gt;
    panel.add(close);&lt;br /&gt;
    panel.add(open);&lt;br /&gt;
    panel.add(find);&lt;br /&gt;
    panel.add(save);&lt;br /&gt;
    JFrame f = new JFrame();&lt;br /&gt;
    f.add(panel);&lt;br /&gt;
    f.setSize(400, 300);&lt;br /&gt;
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    f.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Register several listeners for one event. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JLabel;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JSpinner;&lt;br /&gt;
public class MultipleListeners {&lt;br /&gt;
  JLabel statusbar = new JLabel(&amp;quot;0&amp;quot;);&lt;br /&gt;
  JSpinner spinner = new JSpinner();&lt;br /&gt;
  static int count = 0;&lt;br /&gt;
  class ButtonListener1 implements ActionListener {&lt;br /&gt;
    public void actionPerformed(ActionEvent e) {&lt;br /&gt;
      Integer val = (Integer) spinner.getValue();&lt;br /&gt;
      spinner.setValue(++val);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  class ButtonListener2 implements ActionListener {&lt;br /&gt;
    public void actionPerformed(ActionEvent e) {&lt;br /&gt;
      statusbar.setText(Integer.toString(++count));&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public MultipleListeners() {&lt;br /&gt;
    JPanel panel = new JPanel();&lt;br /&gt;
    JButton add = new JButton(&amp;quot;+&amp;quot;);&lt;br /&gt;
    add.addActionListener(new ButtonListener1());&lt;br /&gt;
    add.addActionListener(new ButtonListener2());&lt;br /&gt;
    panel.add(add);&lt;br /&gt;
    panel.add(spinner);&lt;br /&gt;
    JFrame f = new JFrame();&lt;br /&gt;
    f.add(panel);&lt;br /&gt;
    f.add(statusbar, BorderLayout.SOUTH);&lt;br /&gt;
    f.setSize(300, 200);&lt;br /&gt;
    f.setLocationRelativeTo(null);&lt;br /&gt;
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    f.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    new MultipleListeners();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Removing listeners: remove the registered listeners. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import java.awt.event.ItemEvent;&lt;br /&gt;
import java.awt.event.ItemListener;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JCheckBox;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
public class RemoveListener {&lt;br /&gt;
  class ButtonListener implements ActionListener {&lt;br /&gt;
    public void actionPerformed(ActionEvent e) {&lt;br /&gt;
      System.out.println(++count);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  JButton add = new JButton(&amp;quot;+&amp;quot;);&lt;br /&gt;
  JCheckBox active = new JCheckBox(&amp;quot;Active listener&amp;quot;);&lt;br /&gt;
  ButtonListener buttonlistener = new ButtonListener();&lt;br /&gt;
  int count = 0;&lt;br /&gt;
  public RemoveListener() {&lt;br /&gt;
    JPanel panel = new JPanel();&lt;br /&gt;
    active.addItemListener(new ItemListener() {&lt;br /&gt;
      public void itemStateChanged(ItemEvent event) {&lt;br /&gt;
        if (active.isSelected()) {&lt;br /&gt;
          add.addActionListener(buttonlistener);&lt;br /&gt;
        } else {&lt;br /&gt;
          add.removeActionListener(buttonlistener);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    panel.add(add);&lt;br /&gt;
    panel.add(active);&lt;br /&gt;
    JFrame f = new JFrame();&lt;br /&gt;
    f.add(panel);&lt;br /&gt;
    f.setSize(310, 200);&lt;br /&gt;
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    f.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    new RemoveListener();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  void java.awt.Toolkit.addAWTEventListener(AWTEventListener listener, long eventMask) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.AWTEvent;&lt;br /&gt;
import java.awt.Toolkit;&lt;br /&gt;
import java.awt.event.AWTEventListener;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ruponentEvent;&lt;br /&gt;
import java.awt.event.WindowEvent;&lt;br /&gt;
import javax.swing.AbstractAction;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JMenu;&lt;br /&gt;
import javax.swing.JMenuBar;&lt;br /&gt;
public class Main implements AWTEventListener {&lt;br /&gt;
  public void eventDispatched(AWTEvent evt) {&lt;br /&gt;
    if (evt.getID() == WindowEvent.WINDOW_OPENED) {&lt;br /&gt;
      ComponentEvent cev = (ComponentEvent) evt;&lt;br /&gt;
      if (cev.getComponent() instanceof JFrame) {&lt;br /&gt;
        System.out.println(&amp;quot;event: &amp;quot; + evt);&lt;br /&gt;
        JFrame frame = (JFrame) cev.getComponent();&lt;br /&gt;
        loadSettings(frame);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void loadSettings(JFrame frame) {&lt;br /&gt;
    System.out.println(&amp;quot;loading&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public static void saveSettings() {&lt;br /&gt;
    System.out.println(&amp;quot;saving&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    Toolkit tk = Toolkit.getDefaultToolkit();&lt;br /&gt;
    final Main main = new Main();&lt;br /&gt;
    tk.addAWTEventListener(main, AWTEvent.WINDOW_EVENT_MASK);&lt;br /&gt;
    final JFrame frame = new JFrame(&amp;quot;&amp;quot;);&lt;br /&gt;
    frame.setName(&amp;quot;your frame&amp;quot;);&lt;br /&gt;
    JMenuBar mb = new JMenuBar();&lt;br /&gt;
    JMenu menu = new JMenu(&amp;quot;File&amp;quot;);&lt;br /&gt;
    menu.add(new AbstractAction(&amp;quot;Quit&amp;quot;) {&lt;br /&gt;
      public void actionPerformed(ActionEvent evt) {&lt;br /&gt;
        try {&lt;br /&gt;
          main.saveSettings();&lt;br /&gt;
          System.exit(0);&lt;br /&gt;
        } catch (Exception ex) {&lt;br /&gt;
          System.out.println(ex);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    mb.add(menu);&lt;br /&gt;
    frame.setJMenuBar(mb);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>