zoukankan      html  css  js  c++  java
  • 十三周总结

    总结:

    键盘事件监听处理:

    java.awt.event
    接口KeyListener
    addKeyListener
    public void addKeyListener(KeyListener l)
    添加指定的按键侦听器,以接收发自此组件的按键事件。如果 l 为 null,则不会抛出异常并且不执行动作。
    java.awt.event
    接口 KeyListener
    用于接收键盘事件(击键)的侦听器接口。旨在处理键盘事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象 KeyAdapter 类(仅重写有用的方法)。
    然后使用组件的 addKeyListener 方法将从该类所创建的侦听器对象向该组件注册。按下、释放或键入键时生成键盘事件。然后调用侦听器对象中的相关方法并将该 KeyEvent 传递给它。

    方法摘要
    void keyPressed(KeyEvent e)----按下某个键时调用此方法。
    void keyReleased(KeyEvent e)---释放某个键时调用此方法。
    void keyTyped(KeyEvent e)------键入某个键时调用此方法。
    代码示例:

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class KeyDemo
    {
        private Frame f;
        private Button bt; 
        private TextField tf;  
         KeyDemo()
         {
            madeFrame();
         }
         
         public void madeFrame()
         {
             f = new Frame("My Frame");
             f.setBounds(300,100,600,500);
             f.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
             bt = new Button("My Button");
             tf = new TextField(20);
             f.add(tf);
             f.add(bt);
             myEvent();
             f.setVisible(true);
        }
         
        private void myEvent()
        {
            f.addWindowListener(new WindowAdapter()//窗口监听
             {
                 public void windowClosing(WindowEvent e)
                {
                    System.out.println("窗体执行关闭!");
                     System.exit(0);
                }
             });
             bt.addKeyListener(new KeyAdapter()
            {
                public void keyPressed(KeyEvent e)
                 {
                    if(e.getKeyCode()==KeyEvent.VK_ESCAPE)
                      System.exit(0);
                   else if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)
                        System.exit(0);
                    else System.out.println(e.getKeyChar()+"..."+KeyEvent.getKeyText(e.getKeyCode()));
                }
                
             });
            tf.addKeyListener(new KeyAdapter()
             {
                 public void keyPressed(KeyEvent e)
                 {
                     int code = e.getKeyCode();
                    if(!(code>=KeyEvent.VK_0&&code<=KeyEvent.VK_9))
                     {
                         System.out.println(code+"..."+"是非法的");
                        e.consume();
                     }
                 }
            });
        }
         
        public static void main(String[] agrs)
      {
             new KeyDemo();
        }
    }
    

    鼠标事件监听处理:

    addMouseListener
    java.awt.event
    接口 MouseListener
    addMouseListener
    public void addMouseListener(MouseListener l)

    添加指定的鼠标侦听器,以接收发自此组件的鼠标事件。如果侦听器 l 为 null,则不会抛出异常并且不执行动作。

    java.awt.event
    接口 MouseListener
    用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口。(要跟踪鼠标移动和鼠标拖动,请使用 MouseMotionListener。)
    旨在处理鼠标事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象类 MouseAdapter(仅重写所需的方法)。
    然后使用组件的 addMouseListener 方法将从该类所创建的侦听器对象向该组件注册。当按下、释放或单击(按下并释放)鼠标时会生成鼠标事件。鼠标光标进入或离开组件时也会生成鼠标事件。发生鼠标事件时,将调用该侦听器对象中的相应方法,并将 MouseEvent 传递给该方法。
    void mouseClicked(MouseEvent e)-----鼠标按键在组件上单击(按下并释放)时调用。
    void mouseEntered(MouseEvent e)-----鼠标进入到组件上时调用。
    void mouseExited(MouseEvent e)------鼠标离开组件时调用。
    void mousePressed(MouseEvent e)-----鼠标按键在组件上按下时调用。
    void mouseReleased(MouseEvent e)----鼠标按钮在组件上释放时调用。

    代码示例:

    package testczbk;
    
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    
    public class MouseDemo {
        //定义该图形中所需的组件的引用
        private Frame f;
        private Button bt;
        MouseDemo()//构造方法
        {
            madeFrame();
        }
    
        public void madeFrame() {
            f = new Frame("My Frame");
            f.setBounds(300, 100, 600, 500);
            f.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
    
            bt = new Button("My Button");
            f.add(bt);
            myEvent();
            f.setVisible(true);
        }
        private void myEvent() {
            f.addWindowListener(new WindowAdapter()
            {
                public void windowClosing(WindowEvent e) {
                    System.out.println("窗体执行关闭!");
                    System.exit(0);
                }
            });
    
            bt.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e) {
                    System.out.println("按钮活动了!");
                }
            });
            bt.addMouseListener(new MouseAdapter()//鼠标监听
            {
                private int count = 1;
                private int mouseCount = 1;
    
                public void mouseEntered(MouseEvent e) {
                    System.out.println("鼠标监听" + count++);
                }
    
                public void mouseClicked(MouseEvent e) {
                    if (e.getClickCount() == 2)
                        System.out.println("鼠标被双击了");
                    else System.out.println("鼠标被点击" + mouseCount++);
                }
            });
        }
    
        public static void main(String[] agrs) {
            new MouseDemo();
        }
    }
    
    

    鼠标拖拽事件监听处理:

    在Swing中拖动一个组件或者图片,拖动图片和拖动组件是相同的道理,如果您打算拖动一个组件,只要给组件增加两个监听器就可以了。一个是addMouseListener(MouseListener l),
    另一个是:addMouseMotionListener(MouseMotionListener l) ;
    由于MouseListener和MouseMotionListener都继承同一个父类EventListener,所以我们给组件增加监听器时,只要增加同一个监听器就可以了。即:
    DragPicListener listener = new DragPicListener();
    component.addMouseListener(listener);
    component.addMouseMotionListener(listener);
    对于监听器DragPicListener,我们只要实现鼠标按下时的触发事件public void mousePressed(MouseEvent e);和鼠标拖动时的触发事件:public void mouseDragged(MouseEvent e) ,就可以完成组件的拖动了。当鼠标按下时我们记录下鼠标的位置;当鼠标移动时,获得鼠标当前的位置,并把组件移动到当前位置。

    单选按钮就是在给定的多个选择项中选择一个,并且只能选择一个。在Swing中可以使用JRadioButton完成一组单选按钮的操作,JRadioButton的常用方法如下表:
    1 public JRadioButton(Icon icon) 创建一个单选按钮,并设定图片
    2 public JRadioButton(Icon icon, boolean selected) 创建一个单选按钮,设定图片,并设定是否选中
    3 public JRadioButton(String text) 创建一个单选按钮,制定按钮文本,默认不选中
    4 public JRadioButton(String text, boolean selected) 创建一个具有指定文本和选择状态的单选按钮。
    5 public JRadioButton(String text, Icon icon, boolean selected) 创建一个具有指定的文本、图像和选择状态的单选按钮。
    6 public void setSelected(boolean b) 设置按钮是否被选中,从类 javax.swing.AbstractButton 继承
    7 public boolean isSelected() 返回该按钮是否被选中,如果选定了按钮,则返回 true,否则返回 false。从类 javax.swing.AbstractButton 继承
    8 public void setText(String text) 设置按钮的显示文本。从类 javax.swing.AbstractButton 继承
    9 public void setIcon(Icon defaultIcon) 设置按钮的默认图标。

    JRadioButton事件处理
    在单选按钮操作中,可以使用ItemListener接口进行事件的监听。此接口定义了如下表所示的方法:

    1 void itemStateChanged(ItemEvent e) 在用户已选定或取消选定某项时调用。
    此方法中存在ItemEvent事件,此事件的常用方法及常量如下表所示。

    1 public static int SELECTED 选项被选中
    2 public static int DESELECTED 选项取消选中

    1 public Object getItem() 返回受事件影响的选项。
    2 public int getStateChange() 返回状态更改的类型

  • 相关阅读:
    Python2.7-math, cmath
    Python2.7-pprint
    Python2.7-copy
    Python2.7-weakref
    Python2.7-Queue
    Python2.7-sched
    Python2.7-array
    Python2.7-bisect
    搜索专题:Balloons
    【洛谷P4460】解锁屏幕【状压dp】
  • 原文地址:https://www.cnblogs.com/94ha-xc/p/11913614.html
Copyright © 2011-2022 走看看