• awt


    摘自:http://www.ntu.edu.sg/home/ehchua/programming/java/J4a_GUI.html
    主要内容:
          1.ActionListener
          2.WindowEvent
          3.MouseEvent, MouseMotionListener
          4.KeyEvent, KeyListener
    
    
    1.ActionListener
    
    import java.awt.*;        // Using AWT container and component classes
    import java.awt.event.*;  // Using AWT event classes and listener interfaces
     
    // An AWT program inherits from the top-level container java.awt.Frame
    public class AWTCounter extends Frame implements ActionListener {
       private Label lblCount;    // Declare component Label
       private TextField tfCount; // Declare component TextField
       private Button btnCount;   // Declare component Button
       private int count = 0;     // Counter's value
     
       /** Constructor to setup GUI components and event handling */
       public AWTCounter () {
          setLayout(new FlowLayout());
             // "super" Frame sets its layout to FlowLayout, which arranges the components
             //  from left-to-right, and flow to next row from top-to-bottom.
     
          lblCount = new Label("Counter");  // construct Label
          add(lblCount);                    // "super" Frame adds Label
     
          tfCount = new TextField("0", 10); // construct TextField
          tfCount.setEditable(false);       // set to read-only
          add(tfCount);                     // "super" Frame adds tfCount
     
          btnCount = new Button("Count");   // construct Button
          add(btnCount);                    // "super" Frame adds Button
     
          btnCount.addActionListener(this);
             // Clicking Button source fires ActionEvent
             // btnCount registers this instance as ActionEvent listener
     
          setTitle("AWT Counter");  // "super" Frame sets title
          setSize(250, 100);        // "super" Frame sets initial window size
     
          // System.out.println(this);
          // System.out.println(lblCount);
          // System.out.println(tfCount);
          // System.out.println(btnCount);
     
          setVisible(true);         // "super" Frame shows
     
          // System.out.println(this);
          // System.out.println(lblCount);
          // System.out.println(tfCount);
          // System.out.println(btnCount);
       }
     
       /** The entry main() method */
       public static void main(String[] args) {
          // Invoke the constructor to setup the GUI, by allocating an instance
          AWTCounter app = new AWTCounter();
       }
     
       /** ActionEvent handler - Called back upon button-click. */
       @Override
       public void actionPerformed(ActionEvent evt) {
          ++count; // increase the counter value
          // Display the counter value on the TextField tfCount
          tfCount.setText(count + ""); // convert int to String
       }
    }
    
    
    2.WindowEvent
    
    import java.awt.*;        // Using AWT containers and components
    import java.awt.event.*;  // Using AWT events and listener interfaces
     
    // An AWT GUI program inherits the top-level container java.awt.Frame
    public class WindowEventDemo extends Frame
          implements ActionListener, WindowListener {
          // This class acts as listener for ActionEvent and WindowEvent
          // Java supports only single inheritance, where a class can extend
          // one superclass, but can implement multiple interfaces.
     
       private TextField tfCount;
       private Button btnCount;
       private int count = 0;  // Counter's value
     
       /** Constructor to setup the UI components and event handling */
       public WindowEventDemo() {
          setLayout(new FlowLayout()); // "super" Frame sets to FlowLayout
     
          add(new Label("Counter"));   // "super" Frame adds an anonymous Label
     
          tfCount = new TextField("0", 10); // Allocate TextField
          tfCount.setEditable(false);       // read-only
          add(tfCount);                     // "super" Frame adds tfCount
     
          btnCount = new Button("Count");  // Declare and allocate a Button
          add(btnCount);                   // "super" Frame adds btnCount
     
          btnCount.addActionListener(this);
            // btnCount fires ActionEvent to its registered ActionEvent listener
            // btnCount adds "this" object as an ActionEvent listener
     
          addWindowListener(this);
            // "super" Frame fires WindowEvent to its registered WindowEvent listener
            // "super" Frame adds "this" object as a WindowEvent listener
     
          setTitle("WindowEvent Demo"); // "super" Frame sets title
          setSize(250, 100);            // "super" Frame sets initial size
          setVisible(true);             // "super" Frame shows
       }
     
       /** The entry main() method */
       public static void main(String[] args) {
          new WindowEventDemo();  // Let the construct do the job
       }
     
       /** ActionEvent handler */
       @Override
       public void actionPerformed(ActionEvent evt) {
          ++count;
          tfCount.setText(count + "");
       }
     
       /** WindowEvent handlers */
       // Called back upon clicking close-window button
       @Override
       public void windowClosing(WindowEvent e) {
          System.exit(0);  // Terminate the program
       }
     
       // Not Used, but need to provide an empty body
       @Override
       public void windowOpened(WindowEvent e) { }
       @Override
       public void windowClosed(WindowEvent e) { }
       @Override
       public void windowIconified(WindowEvent e) { }
       @Override
       public void windowDeiconified(WindowEvent e) { }
       @Override
       public void windowActivated(WindowEvent e) { }
       @Override
       public void windowDeactivated(WindowEvent e) { }
    }
    
    3.MouseEvent, MouseMotionListener
    
    import java.awt.*;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.event.MouseMotionListener;
     
    // An AWT GUI program inherits from the top-level container java.awt.Frame
    public class MouseMotionDemo extends Frame
          implements MouseListener, MouseMotionListener {
          // This class acts as MouseListener and MouseMotionListener
     
       // To display the (x, y) coordinates of the mouse-clicked
       private TextField tfMouseClickX;
       private TextField tfMouseClickY;
       // To display the (x, y) coordinates of the current mouse-pointer position
       private TextField tfMousePositionX;
       private TextField tfMousePositionY;
     
       /** Constructor to setup the GUI */
       public MouseMotionDemo() {
          setLayout(new FlowLayout()); // "this" frame sets to FlowLayout
     
          add(new Label("X-Click: "));
          tfMouseClickX = new TextField(10);
          tfMouseClickX.setEditable(false);
          add(tfMouseClickX);
          add(new Label("Y-Click: "));
          tfMouseClickY = new TextField(10);
          tfMouseClickY.setEditable(false);
          add(tfMouseClickY);
     
          add(new Label("X-Position: "));
          tfMousePositionX = new TextField(10);
          tfMousePositionX.setEditable(false);
          add(tfMousePositionX);
          add(new Label("Y-Position: "));
          tfMousePositionY = new TextField(10);
          tfMousePositionY.setEditable(false);
          add(tfMousePositionY);
     
          addMouseListener(this);
          addMouseMotionListener(this);
            // "super" frame fires MouseEvent to all its registered MouseListener and MouseMotionListener
            // "super" frame adds "this" object as MouseListener and MouseMotionListener
     
          setTitle("MouseMotion Demo"); // "super" Frame sets title
          setSize(400, 120);            // "super" Frame sets initial size
          setVisible(true);             // "super" Frame shows
       }
     
       /** The entry main() method */
       public static void main(String[] args) {
          new MouseMotionDemo();  // Let the constructor do the job
       }
     
       /** MouseListener handlers */
       // Called back when a mouse-button has been clicked
       @Override
       public void mouseClicked(MouseEvent e) {
          tfMouseClickX.setText(e.getX() + "");
          tfMouseClickY.setText(e.getY() + "");
       }
     
       // Not Used, but need to provide an empty body for compilation
       @Override
       public void mousePressed(MouseEvent e) { }
       @Override
       public void mouseReleased(MouseEvent e) { }
       @Override
       public void mouseEntered(MouseEvent e) { }
       @Override
       public void mouseExited(MouseEvent e) { }
     
       /** MouseMotionEvent handlers */
       // Called back when the mouse-pointer has been moved
       @Override
       public void mouseMoved(MouseEvent e) {
          tfMousePositionX.setText(e.getX() + "");
          tfMousePositionY.setText(e.getY() + "");
       }
     
       // Not Used, but need to provide an empty body for compilation
       @Override
       public void mouseDragged(MouseEvent e) { }
    }
    
    4.KeyEvent, KeyListener
    
    import java.awt.*;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
     
    // An AWT GUI program inherits from the top-level container java.awt.Frame
    public class KeyEventDemo extends Frame implements KeyListener {
          // This class acts as KeyEvent Listener
     
       private TextField tfInput;  // single-line TextField to receive tfInput key
       private TextArea taDisplay; // multi-line TextArea to taDisplay result
     
       /** Constructor to setup the GUI */
       public KeyEventDemo() {
          setLayout(new FlowLayout()); // "super" frame sets to FlowLayout
     
          add(new Label("Enter Text: "));
          tfInput = new TextField(10);
          add(tfInput);
          taDisplay = new TextArea(5, 40); // 5 rows, 40 columns
          add(taDisplay);
     
          tfInput.addKeyListener(this);
             // tfInput TextField fires KeyEvent to its registered KeyListeners
             // tfInput adds "this" object as a KeyEvent listener
     
          setTitle("KeyEvent Demo"); // "super" Frame sets title
          setSize(400, 200);         // "super" Frame sets initial size
          setVisible(true);          // "super" Frame shows
       }
     
       /** The entry main() method */
       public static void main(String[] args) {
          new KeyEventDemo();  // Let the constructor do the job
       }
     
       /** KeyEvent handlers */
       // Called back when a key has been typed (pressed and released)
       @Override
       public void keyTyped(KeyEvent e) {
          taDisplay.append("You have typed " + e.getKeyChar() + "
    ");
       }
     
       // Not Used, but need to provide an empty body for compilation
       @Override
       public void keyPressed(KeyEvent e) { }
       @Override
       public void keyReleased(KeyEvent e) { }
    }
  • 相关阅读:
    记录一次有意思的XSS过滤绕过2
    2018年总结
    记录一次Oracle注入绕waf
    记录一次有意思的XSS过滤绕过
    绕过阿里云waf进行SQL注入
    CRLF在过滤XSS语句后打Cookie方式
    JavaWeb之商品查看后历史记录代码实现
    Mysql注入小tips --持续更新中
    JDK动态代理(Proxy)的两种实现方式
    ajax 异步刷新
  • 原文地址:https://www.cnblogs.com/helloworldtoyou/p/5202513.html
Copyright © 2020-2023  润新知