⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jkeyboard.java

📁 a Big Java source Code Exemples
💻 JAVA
字号:
package developpez.swing;

import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JTextField;
import javax.swing.KeyStroke;

/**
 * <br>
 * -------------------------------- <br>
 * Pour le site www.developpez.com <br>
 * @author JHelp
 * @version 1.0
 */
public class JKeyboard
      extends JTextField
      implements MouseListener, KeyListener, FocusListener
{
   private KeyStroke combinaisonDeTouches;
   public JKeyboard()
   {
      super(10);
      this.setEnabled(false);
      this.addMouseListener(this);
      this.addKeyListener(this);
      this.setFocusTraversalKeysEnabled(false);
      this.addFocusListener(this);
   }
   public JKeyboard(KeyStroke combinaisonDeTouches)
   {
      this();
      this.combinaisonDeTouches = combinaisonDeTouches;
      this.miseAJour();
   }
   public KeyStroke getCombinaisonDeTouches()
   {
      return this.combinaisonDeTouches;
   }
   public void setCombinaisonDeTouches(KeyStroke combinaisonDeTouches)
   {
      this.combinaisonDeTouches = combinaisonDeTouches;
      this.miseAJour();
   }
   /**
    * @param e
    * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
    */
   public void mouseClicked(MouseEvent e)
   {
      this.setEnabled(true);
      this.requestFocus();
   }
   /**
    * @param e
    * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
    */
   public void mousePressed(MouseEvent e)
   {
   }
   /**
    * @param e
    * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
    */
   public void mouseReleased(MouseEvent e)
   {
   }
   /**
    * @param e
    * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
    */
   public void mouseEntered(MouseEvent e)
   {
   }
   /**
    * @param e
    * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
    */
   public void mouseExited(MouseEvent e)
   {
   }
   private void miseAJour()
   {
      if(this.combinaisonDeTouches != null)
      {
         StringBuffer sb = new StringBuffer(KeyEvent
               .getModifiersExText(this.combinaisonDeTouches.getModifiers()));
         if(sb.length() > 0)
         {
            sb.append('+');
         }
         sb.append(KeyEvent.getKeyText(this.combinaisonDeTouches.getKeyCode()));
         this.setText(sb.toString());
      }
      else
      {
         this.setText("");
      }
   }
   /**
    * @param e
    * @see java.awt.event.KeyListener#keyTyped(java.awt.event.KeyEvent)
    */
   public void keyTyped(KeyEvent e)
   {
   }
   /**
    * @param e
    * @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent)
    */
   public void keyPressed(KeyEvent e)
   {
      this.combinaisonDeTouches = KeyStroke.getKeyStrokeForEvent(e);
      int code = e.getKeyCode();
      if(code != KeyEvent.VK_SHIFT && code != KeyEvent.VK_CONTROL
            && code != KeyEvent.VK_ALT && code != KeyEvent.VK_ALT_GRAPH)
      {
         this.miseAJour();
         this.setEnabled(false);
      }
   }
   /**
    * @param e
    * @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent)
    */
   public void keyReleased(KeyEvent e)
   {
   }
   /**
    * @param e
    * @see java.awt.event.FocusListener#focusGained(java.awt.event.FocusEvent)
    */
   public void focusGained(FocusEvent e)
   {
   }
   /**
    * @param e
    * @see java.awt.event.FocusListener#focusLost(java.awt.event.FocusEvent)
    */
   public void focusLost(FocusEvent e)
   {
      this.miseAJour();
      this.setEnabled(false);
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -