JavaBean自定组件

package com.wt010.jframe;import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.EventListener;
import java.util.EventObject;import javax.swing.*; /*** @author konecms* @date 2018年1月20日* @version 1.0*/
class LoginEvent extends EventObject{public String sUserName,sUserPass;public LoginEvent(Object obj,String sUserName,String sUserPass) {super(obj);// TODO Auto-generated constructor stubthis.sUserName=sUserName;this.sUserPass=sUserPass;}}
interface LoginListener extends EventListener{public void validateLogin(LoginEvent mec);
}class LoginBean extends JPanel implements ActionListener{JLabel lblUser=new JLabel("用户名:");JLabel lblPass=new JLabel("密码:");JTextField txtUser=new JTextField(15);JPasswordField txtPass=new JPasswordField(15);JButton buttonLogin =new JButton("登录");JButton buttonCancel=new JButton("取消");public LoginBean(){setLayout(new FlowLayout());add(lblUser);add(txtUser);add(lblPass);add(txtPass);add(buttonLogin);buttonLogin.addActionListener(this);add(buttonCancel);buttonCancel.addActionListener(this);}LoginListener mel;public void addLoginListener(LoginListener mel){this.mel=mel;}LoginEvent mec;public void fireLoginEvent(LoginEvent mec){if(mel!=null){mel.validateLogin(mec);}else{System.out.println("Client not init");}}@Overridepublic void actionPerformed(ActionEvent ae) {// TODO Auto-generated method stubif(ae.getSource()==buttonLogin){String temp1=txtUser.getText();String temp2=new String(txtPass.getPassword());mec=new LoginEvent(buttonLogin,temp1,temp2);fireLoginEvent(mec);return;}if(ae.getSource()==buttonCancel){System.exit(0);}}}
class JavaBean extends JFrame implements LoginListener{LoginBean meb;public JavaBean(){super("javabean");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);meb=new LoginBean();this.getContentPane().add(meb);meb.addLoginListener(this);}@Overridepublic void validateLogin(LoginEvent mec) {// TODO Auto-generated method stubString s1=mec.sUserName;String s2=mec.sUserPass;JOptionPane.showMessageDialog(this, "用户名:"+s1+"\t密码是:"+s2);}public static void main(String[] args) {JavaBean mec=new JavaBean();mec.setSize(200,200);mec.setVisible(true);}}

转载于:https://www.cnblogs.com/phpdo100/p/8320808.html

javabean自定义组件相关推荐

  1. 【说人话】真正意义上讲清楚了如何用$emit()在Vue.js的自定义组件中实现v-model=“”双向绑定

    子组件sg-component.vue代码 <template><div class="sg-component"><button @click=&q ...

  2. vue自定义组件 → 场馆预约の小时范围控件【手到擒来】

    组件pages/components/sg-hour-range.vue <template><ul><liv-for="(item, $index) in h ...

  3. 微信小程序自定义轮播图滚动样式 自定义组件轮播图的实现

    效果图: 实现代码: wxml <view class="card card_b"><swiper autoplay="{{true}}" i ...

  4. 微信小程序自定义组件之Picker组件

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 需求: 通过JS条件判断,满足条件就弹出Picker给用户选择一个数组里面的数据. 有些朋友可能会有疑问: 1 ...

  5. 【一步步学小程序】3. 使用自定义组件(component)

    上一节创建了一个包含多个课程数据的列表.这一节我们用自定义组件(component),来优化列表页面,即如图,我们把每个课程单元格封装为组件. 使用组件的好处: 自定义组件可以在不同的页面中重复使用 ...

  6. java requiredstringvalidator_如何访问自定义组件中的Validator.required

    我需要一些帮助 . 我正在尝试创建一个包装下拉值的自定义组件,并根据是否需要显示/隐藏默认的--Select--选项 . (我想稍后将其他自定义逻辑应用于此组件) 如何通过父级的被动形式设置我的自定义 ...

  7. php自定义控件,小程序自定义组件的实现方法(代码)

    本篇文章给大家带来的内容是关于小程序自定义组件的实现方法(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. File:threecolgrid.js// components/t ...

  8. Angular系列学习二:基本的组件说明、自定义组件和部分细节说明

    作者:心叶 时间:2018-07-24 16:41 基本说明 组件是Angular中非常重要的一个东西,是拥有模板的指令,是构成Angular应用的基础和核心,被用来包装特定的功能,应用程序的有序运行 ...

  9. 【译】Yii2 0 高级模版编写使用自定义组件(component)

    原文:http://www.yiiframework.com/wiki/760/yii-2-0-write-use-a-custom-component-in-yii2-0-advanced-temp ...

最新文章

  1. Nginx-02:Nginx基本概念
  2. CCF-IFAA基金海外参展 全球安全盛会迎来中国声音
  3. 算法/数据工程师必备技能
  4. boost::python::register_ptr_to_python相关的测试程序
  5. 怎么打散铺铜_装修辅材有哪些?怎么选?元老级工头:照这样去买你家多住50年...
  6. 模拟实现EXT2文件系统
  7. sqoop导入hive时间格式问题解决方案
  8. 生产者消费者问题 操作系统
  9. GitHub下载代码方法
  10. 快速排序算法之我见(附上C代码)
  11. Atitit 常见编程语言读写数据库的api目录1.1. Php pdo 11.2. Java jdbctmpltr 11.3. Nodejs mysql模块 11.4. Pytho
  12. CCS12.0 安装并设置中文
  13. java编码native2ascii下载_使用native2ascii 中文字符与Unicode编码相互转换
  14. 18. OP-TEE中secur world和non-secure world的切换过程
  15. 终于!疫情之下,第一批企业没能熬住面临倒闭,员工被遣散,没能等来春暖花开!
  16. win7无法连接打印机拒绝访问_打印机共享时拒绝访问
  17. 微信公众号svg互动_“戴上太阳镜,弗兰克”:与SVG面罩的互动
  18. 截止频率计算公式wc_计算截止频率Wc的快速方法
  19. 2019年十大让人欲罢不能的消费潮流 | 财见年终观察
  20. 往返多伦多与温莎的交通全攻略!

热门文章

  1. rm -rf ~/.bashrc 的惨痛教训
  2. TMS320F28335项目开发记录9_28335之中断系统
  3. java secretkey_Java中的SecretKeyFactory类 | 学步园
  4. php安装文件怎么打开文件_php文件如何打开
  5. python列表间隔合并_Python使用zip合并相邻列表项的方法示例
  6. html中判断字段第一位,javascript判断字符串是否相等
  7. linux下不同arm 编译器的异同
  8. 每天一道LeetCode-----二叉树逐层遍历,每一层存在一个序列中,返回所有序列集合
  9. PX4/Pixhawk---uORB深入理解和应用
  10. VSCode的连Linux远程开发碰到的坑解决