• 初学java之事件响应(结合接口来设置在同一个界面上!)


     1 package wahaha;
     2 
     3 public class test_1 {
     4     public static void main( String args[] )
     5     {
     6         WindowActionEvent win = new WindowActionEvent();
     7         PoliceListen police = new PoliceListen(); //创建监视器
     8         win.setMyCommandListener(police);
     9         win.setBounds(100, 100, 460, 360);
    10         win.setTitle("处理ACtionEvent事件");
    11     }
    12 }
    main_class
     1 package wahaha;
     2 
     3 import javax.swing.*;
     4 import java.awt.*;
     5 
     6 public class WindowActionEvent extends JFrame
     7 {
     8     
     9     JTextField inputText ;
    10     JTextArea testshow ;
    11     JButton button ;
    12     MyCommandListener listenner ;
    13     
    14     public WindowActionEvent()
    15     {
    16         init();
    17         setVisible(true);
    18         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    19     }
    20    
    21     void init()
    22     {
    23       setLayout(new FlowLayout());
    24       inputText =new JTextField(10);
    25       button =new JButton("确定");
    26       testshow = new JTextArea(9,30); 
    27       add(inputText);
    28       add(button); 
    29       add(new JScrollPane(testshow));
    30     }
    31     
    32     void setMyCommandListener(MyCommandListener listener)
    33     {
    34         this.listenner = listener ;
    35         listener.setJTextArea(testshow);
    36         listener.setJTextField(inputText);
    37                                     //inputText是事件源,listener是监视器      
    38         button.addActionListener(listener) ;
    39                                     //button是事件源 ,listener是监视器
    40     }
    41 }
    demo
     1  package wahaha;
     2 
     3 //设置一个接口 implements/interface/extends
     4  
     5 import javax.swing.* ;
     6 import java.awt.event.* ;
     7 
     8 public interface MyCommandListener extends ActionListener    //子接口多给出了2个方法
     9 {
    10    public void setJTextField(JTextField text);
    11    public void setJTextArea(JTextArea area);
    12 }
    View Code
     1   
     2   package wahaha;
     3 
     4   import javax.swing.*;
     5   import java.awt.event.*;
     6 
     7   public class PoliceListen implements MyCommandListener
     8   {
     9     JTextField textInput ;
    10     JTextArea textshow ;
    11    
    12    public void setJTextField( JTextField text )
    13    {
    14      textInput = text ;
    15    }
    16   
    17    public void setJTextArea(JTextArea area)
    18    {
    19        textshow = area;         
    20    }
    21    
    22    public void actionPerformed( ActionEvent e)
    23    {    
    24        String str=textInput.getText();
    25        textshow.append(str+"的长度:"+str.length()+"
    ");
    26    }
    27   }
    View Code

  • 相关阅读:
    快速修改elementUI组件样式
    设置占位符颜色!
    缩放屏幕的时候banner被压缩变形!
    less一些用法整理
    CentOS 7 的目录结构介绍
    为什么需要VMware的 快照、克隆?
    虚拟机概述
    Linux的简单介绍
    VMware克隆已安装的虚拟机
    【vim使用】分屏命令、操作分屏
  • 原文地址:https://www.cnblogs.com/gongxijun/p/3727483.html
Copyright © 2020-2023  润新知