Java ItemEvent事件
-
ItemEvent事件源
复选框/下拉列表都可以触发ItemEvent事件 //复选框提供了两种状态,选中和未选中,对于下拉列表,当用户选择了其中的某一项就会触发 -
注册监视器
addItemListener(ItemListener listen)
//能触发的组件添加监视器的方法 -
ItemListener接口
public void itemStateChanged(ItemEvent e)
//Java提供的单接口
简单计算机的例子
首先创建JFrame的子类
import javax.swing.*;
import java.awt.*;
public class myWindow extends JFrame {
itemListener itemListener; //项目监视器(实现了ItemListener接口的类的变量)
actionListener actionListener; //按钮监视器(实现ActionListner接口的类的变量)
JTextField jTextField1,jTextField2; //两个文本输入框
JComboBox<String> jComboBox; //选择框
JButton jButton; //确认按钮
JTextArea jTextArea; //文本显示区域
myWindow(){ //构造函数
setTitle("简单计算器"); //设置标题
setBounds(300,300,500,400); //设置大小
init();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void init(){
setLayout(new FlowLayout()); //(值得注意的问题!!!!)
Container con = this.getContentPane();
con.setBackground(new Color(0x366728)); //设置当前窗口的背景颜色颜色
jTextField1 = new JTextField(10);
jTextField2 = new JTextField(10);
jComboBox = new JComboBox<String>();
String a [] = {"请选择运算符","+","-","*","/"}; //创建一个字符串数组
for (int i = 0; i <a.length ; i++) { //添加选项
jComboBox.addItem(a[i]);
}
jButton = new JButton("确定");
jTextArea = new JTextArea(10,40);
actionListener = new actionListener(); //监视器实例化(值得注意的问题)
itemListener = new itemListener(); //监视器实例化(值得注意的问题)
actionListener.setView(this); //将当前窗口的引用传给监视器(值得注意的问题)
itemListener.setView(this); //将当前窗口的引用传给监视器(值得注意的问题)
jButton.addActionListener(actionListener);
jComboBox.addItemListener(itemListener);
add(jTextField1);
add(jComboBox);
add(jTextField2);
add(jButton);
add(jTextArea);
add(new JScrollPane(jTextArea)); //设置有滑动
}
}
然后创建实现了ItemListener接口的类
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class itemListener implements ItemListener {
myWindow view;
public void setView(myWindow view) { //关键是设置需要监视的对象
this.view = view;
}
@Override
public void itemStateChanged(ItemEvent itemEvent) {
String symbol = view.jComboBox.getSelectedItem().toString(); // 获取选项框选中的字符串
view.actionListener.setSymbol(symbol);
}
}
创建实现ActionListner接口的类
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class actionListener implements ActionListener {
myWindow view;
String symbol;
public void setView(myWindow view) { //关键
this.view = view;
}
public void setSymbol(String symbol){
this.symbol = symbol;
}
@Override
public void actionPerformed(ActionEvent actionEvent) {
try{
double number1 = Double.parseDouble(view.jTextField1.getText()); //将框一的字符串转为数字
double number2 = Double.parseDouble(view.jTextField2.getText()); //将框二的字符串转为数字
double result = 0;
boolean isShow = true;
if(symbol.equals("+")){
result = number1 + number2;
}else if(symbol.equals("-")){
result = number1 - number2;
}else if(symbol.equals("*")){
result = number1 * number2;
}else if(symbol.equals("/")){
result = number1 / number2;
}
else{
isShow = false;
}
if (isShow) {
view.jTextArea.append(number1 + " " + symbol + " " + number2 + "=" + result +"\n"); //最后一个是换行符
}
}
catch (Exception e){
view.jTextArea.append("\n请输入数字\n");
}
}
}
最后进行测试
public class Example10_7 {
public static void main(String[] args) {
myWindow myWindow = new myWindow();
}
}
运行效果图
代码途中的几个问题
- 要注意设置窗口的布局否则无法显示
- 注意要将实现接口的类进行实例化,并且调用接口里面设置要当前对象的方法
- 最后是不要粗心大意写错,写漏
总线的基本概念
总线的定义和分类
什么是总线?
//总线是连接多个设备的传输通道,是一组信号线,可以分好几类
- 芯片内总线 //用于集成芯片内部各部分的连接
- 元件级总线 //用于一块电路板内元器件的连接
- 内总线(又称为系统总线) //用于计算机各组成部分间的连接
- 外总线(又称为通信总线) //用于计算机与外设之间的连接或通信
系统总线
系统总线是计算机最为重要总线,系统总线按照传递信息和功能还可分为,地址总线,数据总线,控制总线
系统总线的性能指标
带宽
//单位时间内在总线上传送的数据量位宽
//总线能同时传送二进制数据的位数,也就是32位和64位的概念(越宽越快,)工作频率
//总线工作速度的快慢
常见的系统总线
- ISA总线//工业标准结构总线(Industry Standard Architecture)数据线16,地址线24
- EISA总线//扩展工业标准结构总线(Extended Industry Standard Architecture数据线32
- PCI总线//外部控制器接口(Peripheral Component Interconnect)目前微型机上广泛采用的内总线,有两种标准
32位机,124个信号
64位机,188个信号 - PCI Express总线//采用点对点串行连接,每个设备都有自己的专用连接,能提供更高的传输速率和质量
- AGP//加速图形端口(能够使3D图形在普通个人电脑上以更快的速度显示)(Accelerated Graphics Port)
外总线
外总线有非常多种
- USB//通用串行总线(Universal Serial Bus)
中央处理单元
中央处理单元就是我们日常所称的CPU//中央处理单元(Central Processing Unit)
首先要了解CPU的基本功能有哪些
CPU的基本功能
- 指令控制//通过执行指令来控制程序的执行顺序
- 操作控制//一条指令功能的实现需要若干个操作信号来完成,将操作信号送往不同的部件,然后控制相应部件的操作
- 时序控制//CPU通过时序电路产生的时钟信号进行定时,可以控制各种操作按指定时序执行
- 数据处理//对数据的加工和处理是最根本的任务
HTML
CSS
JavaScript
JavaScript this关键词
JavaScript let关键词
JavaScript const关键字
CET4P160
geometry
triumph
obvious
rib
butcher
basis
contact
eyesight
interview
maid
guarantee