<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjava.awt.event%2FInputEvent</id>
		<title>Java by API/java.awt.event/InputEvent - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjava.awt.event%2FInputEvent"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/java.awt.event/InputEvent&amp;action=history"/>
		<updated>2026-04-22T08:47:49Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_by_API/java.awt.event/InputEvent&amp;diff=575&amp;oldid=prev</id>
		<title> в 17:43, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/java.awt.event/InputEvent&amp;diff=575&amp;oldid=prev"/>
				<updated>2010-05-31T17:43:48Z</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:43, 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://www.jexp.ru/index.php?title=Java_by_API/java.awt.event/InputEvent&amp;diff=576&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/java.awt.event/InputEvent&amp;diff=576&amp;oldid=prev"/>
				<updated>2010-05-31T14:18:10Z</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;== InputEvent.BUTTON1_MASK (mouse left button) ==&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;
 &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 java.awt.event.InputEvent;&lt;br /&gt;
import java.awt.event.MouseAdapter;&lt;br /&gt;
import java.awt.event.MouseEvent;&lt;br /&gt;
import java.awt.event.MouseListener;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.SwingUtilities;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Button Sample&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JButton button = new JButton(&amp;quot;Select Me&amp;quot;);&lt;br /&gt;
    ActionListener actionListener = new ActionListener() {&lt;br /&gt;
      public void actionPerformed(ActionEvent actionEvent) {&lt;br /&gt;
        System.out.println(&amp;quot;I was selected.&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    MouseListener mouseListener = new MouseAdapter() {&lt;br /&gt;
      public void mousePressed(MouseEvent mouseEvent) {&lt;br /&gt;
        int modifiers = mouseEvent.getModifiers();&lt;br /&gt;
        if ((modifiers &amp;amp; InputEvent.BUTTON1_MASK) == InputEvent.BUTTON1_MASK) {&lt;br /&gt;
          System.out.println(&amp;quot;Left button pressed.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if ((modifiers &amp;amp; InputEvent.BUTTON2_MASK) == InputEvent.BUTTON2_MASK) {&lt;br /&gt;
          System.out.println(&amp;quot;Middle button pressed.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if ((modifiers &amp;amp; InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK) {&lt;br /&gt;
          System.out.println(&amp;quot;Right button pressed.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      public void mouseReleased(MouseEvent mouseEvent) {&lt;br /&gt;
        if (SwingUtilities.isLeftMouseButton(mouseEvent)) {&lt;br /&gt;
          System.out.println(&amp;quot;Left button released.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if (SwingUtilities.isMiddleMouseButton(mouseEvent)) {&lt;br /&gt;
          System.out.println(&amp;quot;Middle button released.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if (SwingUtilities.isRightMouseButton(mouseEvent)) {&lt;br /&gt;
          System.out.println(&amp;quot;Right button released.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        System.out.println();&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    button.addActionListener(actionListener);&lt;br /&gt;
    button.addMouseListener(mouseListener);&lt;br /&gt;
    frame.add(button, BorderLayout.SOUTH);&lt;br /&gt;
    frame.setSize(300, 100);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &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;
== InputEvent.BUTTON2_MASK (mouse middle button) ==&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;
 &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 java.awt.event.InputEvent;&lt;br /&gt;
import java.awt.event.MouseAdapter;&lt;br /&gt;
import java.awt.event.MouseEvent;&lt;br /&gt;
import java.awt.event.MouseListener;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.SwingUtilities;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Button Sample&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JButton button = new JButton(&amp;quot;Select Me&amp;quot;);&lt;br /&gt;
    ActionListener actionListener = new ActionListener() {&lt;br /&gt;
      public void actionPerformed(ActionEvent actionEvent) {&lt;br /&gt;
        System.out.println(&amp;quot;I was selected.&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    MouseListener mouseListener = new MouseAdapter() {&lt;br /&gt;
      public void mousePressed(MouseEvent mouseEvent) {&lt;br /&gt;
        int modifiers = mouseEvent.getModifiers();&lt;br /&gt;
        if ((modifiers &amp;amp; InputEvent.BUTTON1_MASK) == InputEvent.BUTTON1_MASK) {&lt;br /&gt;
          System.out.println(&amp;quot;Left button pressed.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if ((modifiers &amp;amp; InputEvent.BUTTON2_MASK) == InputEvent.BUTTON2_MASK) {&lt;br /&gt;
          System.out.println(&amp;quot;Middle button pressed.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if ((modifiers &amp;amp; InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK) {&lt;br /&gt;
          System.out.println(&amp;quot;Right button pressed.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      public void mouseReleased(MouseEvent mouseEvent) {&lt;br /&gt;
        if (SwingUtilities.isLeftMouseButton(mouseEvent)) {&lt;br /&gt;
          System.out.println(&amp;quot;Left button released.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if (SwingUtilities.isMiddleMouseButton(mouseEvent)) {&lt;br /&gt;
          System.out.println(&amp;quot;Middle button released.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if (SwingUtilities.isRightMouseButton(mouseEvent)) {&lt;br /&gt;
          System.out.println(&amp;quot;Right button released.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        System.out.println();&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    button.addActionListener(actionListener);&lt;br /&gt;
    button.addMouseListener(mouseListener);&lt;br /&gt;
    frame.add(button, BorderLayout.SOUTH);&lt;br /&gt;
    frame.setSize(300, 100);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &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;
== InputEvent.BUTTON3_MASK (mouse right button) ==&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;
 &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 java.awt.event.InputEvent;&lt;br /&gt;
import java.awt.event.MouseAdapter;&lt;br /&gt;
import java.awt.event.MouseEvent;&lt;br /&gt;
import java.awt.event.MouseListener;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.SwingUtilities;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Button Sample&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JButton button = new JButton(&amp;quot;Select Me&amp;quot;);&lt;br /&gt;
    ActionListener actionListener = new ActionListener() {&lt;br /&gt;
      public void actionPerformed(ActionEvent actionEvent) {&lt;br /&gt;
        System.out.println(&amp;quot;I was selected.&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    MouseListener mouseListener = new MouseAdapter() {&lt;br /&gt;
      public void mousePressed(MouseEvent mouseEvent) {&lt;br /&gt;
        int modifiers = mouseEvent.getModifiers();&lt;br /&gt;
        if ((modifiers &amp;amp; InputEvent.BUTTON1_MASK) == InputEvent.BUTTON1_MASK) {&lt;br /&gt;
          System.out.println(&amp;quot;Left button pressed.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if ((modifiers &amp;amp; InputEvent.BUTTON2_MASK) == InputEvent.BUTTON2_MASK) {&lt;br /&gt;
          System.out.println(&amp;quot;Middle button pressed.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if ((modifiers &amp;amp; InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK) {&lt;br /&gt;
          System.out.println(&amp;quot;Right button pressed.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      public void mouseReleased(MouseEvent mouseEvent) {&lt;br /&gt;
        if (SwingUtilities.isLeftMouseButton(mouseEvent)) {&lt;br /&gt;
          System.out.println(&amp;quot;Left button released.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if (SwingUtilities.isMiddleMouseButton(mouseEvent)) {&lt;br /&gt;
          System.out.println(&amp;quot;Middle button released.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if (SwingUtilities.isRightMouseButton(mouseEvent)) {&lt;br /&gt;
          System.out.println(&amp;quot;Right button released.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        System.out.println();&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    button.addActionListener(actionListener);&lt;br /&gt;
    button.addMouseListener(mouseListener);&lt;br /&gt;
    frame.add(button, BorderLayout.SOUTH);&lt;br /&gt;
    frame.setSize(300, 100);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &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;
== InputEvent.CTRL_MASK ==&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;
 &lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.InputEvent;&lt;br /&gt;
import java.awt.event.KeyEvent;&lt;br /&gt;
import java.util.Hashtable;&lt;br /&gt;
import javax.swing.Action;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextArea;&lt;br /&gt;
import javax.swing.KeyStroke;&lt;br /&gt;
import javax.swing.text.BadLocationException;&lt;br /&gt;
import javax.swing.text.DefaultEditorKit;&lt;br /&gt;
import javax.swing.text.Document;&lt;br /&gt;
import javax.swing.text.JTextComponent;&lt;br /&gt;
import javax.swing.text.Keymap;&lt;br /&gt;
import javax.swing.text.TextAction;&lt;br /&gt;
import javax.swing.text.Utilities;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    JTextArea area = new JTextArea(6, 32);&lt;br /&gt;
    Keymap parent = area.getKeymap();&lt;br /&gt;
    Keymap newmap = JTextComponent.addKeymap(&amp;quot;KeymapExampleMap&amp;quot;, parent);&lt;br /&gt;
    KeyStroke u = KeyStroke.getKeyStroke(KeyEvent.VK_U,&lt;br /&gt;
        InputEvent.CTRL_MASK);&lt;br /&gt;
    Action actionU = new UpWord();&lt;br /&gt;
    newmap.addActionForKeyStroke(u, actionU);&lt;br /&gt;
    Action actionList[] = area.getActions();&lt;br /&gt;
    Hashtable lookup = new Hashtable();&lt;br /&gt;
    for (int j = 0; j &amp;lt; actionList.length; j += 1)&lt;br /&gt;
      lookup.put(actionList[j].getValue(Action.NAME), actionList[j]);&lt;br /&gt;
    KeyStroke L = KeyStroke.getKeyStroke(KeyEvent.VK_L,&lt;br /&gt;
        InputEvent.CTRL_MASK);&lt;br /&gt;
    Action actionL = (Action) lookup.get(DefaultEditorKit.selectLineAction);&lt;br /&gt;
    newmap.addActionForKeyStroke(L, actionL);&lt;br /&gt;
    KeyStroke W = KeyStroke.getKeyStroke(KeyEvent.VK_W,&lt;br /&gt;
        InputEvent.CTRL_MASK);&lt;br /&gt;
    Action actionW = (Action) lookup.get(DefaultEditorKit.selectWordAction);&lt;br /&gt;
    newmap.addActionForKeyStroke(W, actionW);&lt;br /&gt;
    area.setKeymap(newmap);&lt;br /&gt;
    JFrame f = new JFrame(&amp;quot;KeymapExample&amp;quot;);&lt;br /&gt;
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    f.getContentPane().add(new JScrollPane(area), BorderLayout.CENTER);&lt;br /&gt;
    area.setText(&amp;quot;This is a test.&amp;quot;);&lt;br /&gt;
    f.pack();&lt;br /&gt;
    f.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
class UpWord extends TextAction {&lt;br /&gt;
  public UpWord() {&lt;br /&gt;
    super(&amp;quot;uppercase-word-action&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public void actionPerformed(ActionEvent e) {&lt;br /&gt;
    JTextComponent comp = getTextComponent(e);&lt;br /&gt;
    if (comp == null)&lt;br /&gt;
      return;&lt;br /&gt;
    Document doc = comp.getDocument();&lt;br /&gt;
    int start = comp.getSelectionStart();&lt;br /&gt;
    int end = comp.getSelectionEnd();&lt;br /&gt;
    try {&lt;br /&gt;
      int left = Utilities.getWordStart(comp, start);&lt;br /&gt;
      int right = Utilities.getWordEnd(comp, end);&lt;br /&gt;
      String word = doc.getText(left, right - left);&lt;br /&gt;
      doc.remove(left, right - left);&lt;br /&gt;
      doc.insertString(left, word.toUpperCase(), null);&lt;br /&gt;
      comp.setSelectionStart(start);&lt;br /&gt;
       comp.setSelectionEnd(end);&lt;br /&gt;
    } catch (BadLocationException ble) {&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&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;
== InputEvent: getModifiersExText(int modifiers) ==&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;
 &lt;br /&gt;
/*&lt;br /&gt;
 * Copyright (c) 1995 - 2008 Sun Microsystems, Inc.  All rights reserved.&lt;br /&gt;
 *&lt;br /&gt;
 * Redistribution and use in source and binary forms, with or without&lt;br /&gt;
 * modification, are permitted provided that the following conditions&lt;br /&gt;
 * are met:&lt;br /&gt;
 *&lt;br /&gt;
 *   - Redistributions of source code must retain the above copyright&lt;br /&gt;
 *     notice, this list of conditions and the following disclaimer.&lt;br /&gt;
 *&lt;br /&gt;
 *   - Redistributions in binary form must reproduce the above copyright&lt;br /&gt;
 *     notice, this list of conditions and the following disclaimer in the&lt;br /&gt;
 *     documentation and/or other materials provided with the distribution.&lt;br /&gt;
 *&lt;br /&gt;
 *   - Neither the name of Sun Microsystems nor the names of its&lt;br /&gt;
 *     contributors may be used to endorse or promote products derived&lt;br /&gt;
 *     from this software without specific prior written permission.&lt;br /&gt;
 *&lt;br /&gt;
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &amp;quot;AS&lt;br /&gt;
 * IS&amp;quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,&lt;br /&gt;
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR&lt;br /&gt;
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR&lt;br /&gt;
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,&lt;br /&gt;
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,&lt;br /&gt;
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR&lt;br /&gt;
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF&lt;br /&gt;
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING&lt;br /&gt;
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS&lt;br /&gt;
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
 */&lt;br /&gt;
/*&lt;br /&gt;
 * KeyEventDemo&lt;br /&gt;
 */&lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import java.awt.event.KeyEvent;&lt;br /&gt;
import java.awt.event.KeyListener;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextArea;&lt;br /&gt;
import javax.swing.JTextField;&lt;br /&gt;
import javax.swing.UIManager;&lt;br /&gt;
import javax.swing.UnsupportedLookAndFeelException;&lt;br /&gt;
public class Main extends JFrame implements KeyListener, ActionListener {&lt;br /&gt;
  JTextArea displayArea;&lt;br /&gt;
  JTextField typingArea;&lt;br /&gt;
  static final String newline = System.getProperty(&amp;quot;line.separator&amp;quot;);&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    // Create and set up the window.&lt;br /&gt;
    Main frame = new Main();&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    // Set up the content pane.&lt;br /&gt;
    frame.addComponentsToPane();&lt;br /&gt;
    // Display the window.&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  private void addComponentsToPane() {&lt;br /&gt;
    JButton button = new JButton(&amp;quot;Clear&amp;quot;);&lt;br /&gt;
    button.addActionListener(this);&lt;br /&gt;
    typingArea = new JTextField(20);&lt;br /&gt;
    typingArea.addKeyListener(this);&lt;br /&gt;
    // Uncomment this if you wish to turn off focus&lt;br /&gt;
    // traversal. The focus subsystem consumes&lt;br /&gt;
    // focus traversal keys, such as Tab and Shift Tab.&lt;br /&gt;
    // If you uncomment the following line of code, this&lt;br /&gt;
    // disables focus traversal and the Tab events will&lt;br /&gt;
    // become available to the key event listener.&lt;br /&gt;
    // typingArea.setFocusTraversalKeysEnabled(false);&lt;br /&gt;
    displayArea = new JTextArea();&lt;br /&gt;
    displayArea.setEditable(false);&lt;br /&gt;
    JScrollPane scrollPane = new JScrollPane(displayArea);&lt;br /&gt;
    scrollPane.setPreferredSize(new Dimension(375, 125));&lt;br /&gt;
    getContentPane().add(typingArea, BorderLayout.PAGE_START);&lt;br /&gt;
    getContentPane().add(scrollPane, BorderLayout.CENTER);&lt;br /&gt;
    getContentPane().add(button, BorderLayout.PAGE_END);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /** Handle the key typed event from the text field. */&lt;br /&gt;
  public void keyTyped(KeyEvent e) {&lt;br /&gt;
    displayInfo(e, &amp;quot;KEY TYPED: &amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  /** Handle the key pressed event from the text field. */&lt;br /&gt;
  public void keyPressed(KeyEvent e) {&lt;br /&gt;
    displayInfo(e, &amp;quot;KEY PRESSED: &amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  /** Handle the key released event from the text field. */&lt;br /&gt;
  public void keyReleased(KeyEvent e) {&lt;br /&gt;
    displayInfo(e, &amp;quot;KEY RELEASED: &amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  /** Handle the button click. */&lt;br /&gt;
  public void actionPerformed(ActionEvent e) {&lt;br /&gt;
    // Clear the text components.&lt;br /&gt;
    displayArea.setText(&amp;quot;&amp;quot;);&lt;br /&gt;
    typingArea.setText(&amp;quot;&amp;quot;);&lt;br /&gt;
    // Return the focus to the typing area.&lt;br /&gt;
    typingArea.requestFocusInWindow();&lt;br /&gt;
  }&lt;br /&gt;
  /*&lt;br /&gt;
   * We have to jump through some hoops to avoid trying to print non-printing&lt;br /&gt;
   * characters such as Shift. (Not only do they not print, but if you put them&lt;br /&gt;
   * in a String, the characters afterward won&amp;quot;t show up in the text area.)&lt;br /&gt;
   */&lt;br /&gt;
  private void displayInfo(KeyEvent e, String keyStatus) {&lt;br /&gt;
    // You should only rely on the key char if the event&lt;br /&gt;
    // is a key typed event.&lt;br /&gt;
    int id = e.getID();&lt;br /&gt;
    String keyString;&lt;br /&gt;
    if (id == KeyEvent.KEY_TYPED) {&lt;br /&gt;
      char c = e.getKeyChar();&lt;br /&gt;
      keyString = &amp;quot;key character = &amp;quot;&amp;quot; + c + &amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
    } else {&lt;br /&gt;
      int keyCode = e.getKeyCode();&lt;br /&gt;
      keyString = &amp;quot;key code = &amp;quot; + keyCode + &amp;quot; (&amp;quot; + KeyEvent.getKeyText(keyCode)&lt;br /&gt;
          + &amp;quot;)&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    int modifiersEx = e.getModifiersEx();&lt;br /&gt;
    String modString = &amp;quot;extended modifiers = &amp;quot; + modifiersEx;&lt;br /&gt;
    String tmpString = KeyEvent.getModifiersExText(modifiersEx);&lt;br /&gt;
    if (tmpString.length() &amp;gt; 0) {&lt;br /&gt;
      modString += &amp;quot; (&amp;quot; + tmpString + &amp;quot;)&amp;quot;;&lt;br /&gt;
    } else {&lt;br /&gt;
      modString += &amp;quot; (no extended modifiers)&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    String actionString = &amp;quot;action key? &amp;quot;;&lt;br /&gt;
    if (e.isActionKey()) {&lt;br /&gt;
      actionString += &amp;quot;YES&amp;quot;;&lt;br /&gt;
    } else {&lt;br /&gt;
      actionString += &amp;quot;NO&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    String locationString = &amp;quot;key location: &amp;quot;;&lt;br /&gt;
    int location = e.getKeyLocation();&lt;br /&gt;
    if (location == KeyEvent.KEY_LOCATION_STANDARD) {&lt;br /&gt;
      locationString += &amp;quot;standard&amp;quot;;&lt;br /&gt;
    } else if (location == KeyEvent.KEY_LOCATION_LEFT) {&lt;br /&gt;
      locationString += &amp;quot;left&amp;quot;;&lt;br /&gt;
    } else if (location == KeyEvent.KEY_LOCATION_RIGHT) {&lt;br /&gt;
      locationString += &amp;quot;right&amp;quot;;&lt;br /&gt;
    } else if (location == KeyEvent.KEY_LOCATION_NUMPAD) {&lt;br /&gt;
      locationString += &amp;quot;numpad&amp;quot;;&lt;br /&gt;
    } else { // (location == KeyEvent.KEY_LOCATION_UNKNOWN)&lt;br /&gt;
      locationString += &amp;quot;unknown&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    displayArea.append(keyStatus + newline + &amp;quot;    &amp;quot; + keyString + newline&lt;br /&gt;
        + &amp;quot;    &amp;quot; + modString + newline + &amp;quot;    &amp;quot; + actionString + newline&lt;br /&gt;
        + &amp;quot;    &amp;quot; + locationString + newline);&lt;br /&gt;
    displayArea.setCaretPosition(displayArea.getDocument().getLength());&lt;br /&gt;
  }&lt;br /&gt;
}&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>