Java处理事件
处理事件的模式
- 事件源
能产生事件的对象都可以称为事件源,事件源必须是一个对象 - 监视器
对事件进行监视,事件源通过调用相应的方法将某个对象注册为自己的监视器 - 处理事件的接口
Java要求监视器必须和一个专用于处理事件的方法进行绑定,要求创建监视器必须实现Java规定的接口
,该接口中有专用于处理事件的方法
AcitonEvent事件
ActionEvent事件源
- 文本框和密码框 //当文本框和密码框获取焦点后,如果用户按下了回车,那么就会触发ActionEvent事件
- 按钮和单选按钮 //当用户点击时
- 菜单项 //当用户选中该菜单项时
注册监视器
addActionListener(ActionListener listen)
//添加ActionListener事件监视器
ActionListener接口
该是一个单接口,只有一种方法
public void actionPerformed(ActionEvent e)
//里面的e是Java运行环境自动创建的一个对象
ActionEvent类中常用的方法
public Object getSource()
// //将事件源上转型为Object对象,并返回这个上转型对象的引用public String getActionCommand()
//回去和该事件相关的字符串,默认的命令字符串是文本框中的字符串
例子
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
class myListener implements ActionListener{
myWindow1 view;
public void setView(myWindow1 view) {
this.view = view;
}
@Override
public void actionPerformed(ActionEvent actionEvent) {
int n = 0;
int m = 0;
String str = view.setText.getText(); //获取输入框的文本
try{
if (!str.isEmpty()){ //判断是否含有字符串
n = Integer.parseInt(str); //将字符串转为int
m = n * n;
view.showText.setText(""+m); //进行并运算
}
}
catch(Exception e){
view.showText.setText("请输入数字!");
}
}
}
class myWindow1 extends JFrame{
JTextField setText,showText; //一个输入,一个展示
JButton enter; //确定按钮
myListener listener;
myWindow1(){
setTitle("实现平方运算");
setBounds(300,300,400,300);
setLayout(new FlowLayout()); //设置布局
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
init();
setVisible(true); //是否可视化
}
void init(){
Container con = this.getContentPane();
con.setBackground(new Color(54, 103, 40));
listener = new myListener(); //实例化监视器
listener.setView(this); //将当前对象创给传给监视器
setText = new JTextField(10);
setText.addActionListener(listener); //添加监视器
add(setText);
enter = new JButton("ENTER");
enter.addActionListener(listener);
add(enter);
showText = new JTextField(10);
showText.setEditable(false); //设置成不可编辑
showText.addActionListener(listener);
add(showText);
}
}
public class Example10_7 {
public static void main(String[] args) {
myWindow1 myWindow1 = new myWindow1();
}
}
效果图
计算机数据表示及运算
ASCII码
什么是ASCII码?
//美国标准信息交换代码(American Standard Code For Information Interchange)
采用高3位低4位,一共有128个编码码(从0~127),
汉字编码
- 输入码
数字编码
//就是用数字串代表一个汉字的输入
拼音编码
//用汉语拼音为基础
字形编码
//就是所谓的五笔输入,缺点就是偏旁太多 - 内部码
什么是内部码?
//内部码就是汉字在信息系统内部进行储存/处理/传输文字时的代码
每个汉字内码占2个字节 - 字形码
字形码是表示汉字字形的字模数据,通常用点阵.矢量函数等方式表示
校验码
由于计算机系统运行时,各个部件之间经常需要进行数据交换,为保证数据能正确地进行交换,那么就必须引入差错检查机制,原理就是通过在编码中引入一定的冗余位,当被传送的编码出现错误是就是使之成为非法代码
- 奇偶校验码
原理就是增加一位校验位,使校验位与码字中保持偶数或奇数 - 海明码//我也没搞明白
- 循环冗余校验码(CRC) //也没搞明白
逻辑代数及逻辑运算
什么是逻辑代数?
//逻辑代数是英国数学家乔治布尔1849年提出的,用代数的方式对逻辑变量进行描述和分析的数学工具,也成为了布尔代数.逻辑变量只有两个值真(1)
和假(0)
- 基本逻辑运算
"与"运算//又称为逻辑乘运算(||
)
"或"运算//又称为逻辑加运算(1 + 1 = 1)(&&
)
“非运算”//又称为取反运算(!
)
机器数的运算
- 机器算的加减运算//通常都是常用补码(负数的补码是其反码加1)来实现
需要特别注意的是溢出情况,也就是当两个正数相加变为负数时的判别
就是采用双符号位判决法分别用S1和S2表示,当结果S1 + S2 = 1
时就为溢出
加粗样式
HTML
HTML 响应式 Web 设计
HTML 框架
HTML Iframe
CSS
JavaScript
CET4P159
dose
immediately
clause
vacation
vacuum
psychological
barn
cattle
ore
laser
compel
contradiction
initiative