java实用教程——组件及事件处理——ItemEvent事件(设置字体类型)
ItemEvent事件源:
选择框,下拉列表都可以触发ItemEvent事件
注册监视器:
能够触发ItemEvent事件的组件使用addItemListener(ItemListener listen)
将实现ItemListener的接口的类的实例注册为事件源的监视器
ItemListener接口:
接口中仅有一个方法,public void itemStateChanged(ItemEvent e)
对发生事件做出处理
返回发生ItemEvent的事件源:
getSource();
getItemSelectable();
下面的例子是简单的计算器,实现如下功能
1、用户在窗口中的两个文本框中输入参与运算的两个操作数
2、用户在下拉列表中选择运算符将触发ItemEvent事件,ItemEvent事件的监视器(operatorListener类负责创建)获得运算符,并将运算符传递给ActionEvent事件的监视器computer
3、用户点击按钮触发ActionEvent事件,监视器computer(computerListener类负责创建)给出运算结果
设置字体:
Font font =new Font(“宋体”,Font.BOLD,22);
inputNumberOne.setFont(font);
public class Example9_8 {public static void main(String args[]){WindowOperation win = new WindowOperation();win.setBounds(100,100,390,360);win.setTitle("简单计算器");}}
import java.awt.*;
import javax.swing.*;public class WindowOperation extends JFrame{private static final long serialVersionUID = 3530745896462734297L;JTextField inputNumberOne,inputNumberTwo;//添加两个输入文本框JComboBox<String> choiceFuhao;//下拉列表JTextArea textShow;//文本区JButton button;//按钮OperatorListener operator;//监视itemEventComputerListener computer;//监视ActionEventpublic WindowOperation()//构造函数{init();setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}void init(){setLayout(new FlowLayout());//设置布局Font font =new Font("宋体",Font.BOLD,22);//Font font = new Font("宋体",Font.BOLD,22);inputNumberOne = new JTextField(5);//inputNumberOne.setFont(font);inputNumberTwo = new JTextField(5);//分配空间inputNumberTwo.setFont(font);choiceFuhao = new JComboBox<String>();//重点后面的<>,不能省略choiceFuhao.setFont(font);button = new JButton("计算");button.setFont(font);choiceFuhao.addItem("选择运算符号:");//将后面的字符串添加到下拉列表中去String []a = {"+","-","*","/"};for(int i=0;i<a.length;i++){choiceFuhao.addItem(a[i]);//将后面的字符串添加到下拉列表中去}textShow = new JTextArea(9,30);//textShow.setFont(font);operator = new OperatorListener();computer = new ComputerListener();operator.setJComboBox(choiceFuhao);operator.setWorkTogether(computer);computer.setJTextFieldOne(inputNumberOne);computer.setJTextFieldTwo(inputNumberTwo);computer.setJTextArea(textShow);choiceFuhao.addItemListener(operator);button.addActionListener(computer);this.add(inputNumberOne);this.add(choiceFuhao);this.add(inputNumberTwo);this.add(button);this.add(new JScrollPane(textShow));}}
import java.awt.event.*;
import javax.swing.*;public class OperatorListener implements ItemListener{JComboBox<String> choice;//下拉列表ComputerListener workTogether;//监视器public void setJComboBox(JComboBox<String> box){choice = box;}public void setWorkTogether(ComputerListener computer){workTogether = computer;}public void itemStateChanged(ItemEvent e)//下拉列表后触发该事件{//作用:在复选框中得到符号,并且传递给文本框的监视器String fuhao = choice.getSelectedItem().toString();workTogether.setFuhao(fuhao);}}
import java.awt.event.*;import javax.swing.*;public class ComputerListener implements ActionListener{JTextField inputNumberOne,inputNumberTwo;//文本框JTextArea textShow;//文本区String fuhao;//字符串public void setJTextFieldOne(JTextField t){inputNumberOne = t;}public void setJTextFieldTwo(JTextField t){inputNumberTwo = t;}public void setJTextArea(JTextArea area){textShow = area;}public void setFuhao(String s){fuhao = s;}public void actionPerformed(ActionEvent e)//用户单击鼠标,触发事件,做出处理{try{double number1 = Double.parseDouble(inputNumberOne.getText());double number2 = Double.parseDouble(inputNumberTwo.getText());double result =0;if(fuhao.equals("+")){result = number1+number2;}else if(fuhao.equals("-")){result = number1-number2;}else if(fuhao.equals("*")){result = number1*number2;}else if(fuhao.equals("/")){result = number1/number2;}textShow.append(number1+" "+fuhao+" "+number2+" = "+result+"\n");}catch(Exception exp){textShow.append("\n请输入数字字符\n");}}}
java实用教程——组件及事件处理——ItemEvent事件(设置字体类型)相关推荐
- java实用教程——组件及事件处理——ActionEvent事件
事件源: 文本框,按钮,菜单项,密码框,单选按钮 注册监视器: 能够触发ActionEvent事件的组件使用方法 addActionListener(ActionListener listener) ...
- java实用教程——组件及事件处理——MouseEvent事件
MouseEvent事件 任何组件上都可以发生鼠标事件,如鼠标进入组件.退出组件.在组件上方单击鼠标.拖动鼠标等都触发鼠标事件,即导致MouseEvent类自动创建一个 事件对象,事件源注册监视器的方 ...
- java实用教程——组件及事件处理——DocumentEvent事件
DocumentEvent事件源: 文本区Document的维护 注册监视器: 使用addDocumentListener(DocumentListener listen)为事件源添加监视器 Docu ...
- java实用教程——组件及事件处理——对话框(消息对话框,输入对话框,确认对话框)
消息对话框:(这个对话框提供一些信息) 无模式:可多线程的执行 有模式:用户必须处理这个一个对话框.必须解决这个问题后才可以继续相处下去 对话框分为无模式和有模式两种.如果一个对话框 是有模式的对话框 ...
- java实用教程——组件及事件处理——对话框(dialog)
对话框: import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import java.awt.*; impo ...
- java实用教程——组件及事件处理——布局的一个小实例
import javax.swing.*; import java.awt.*;public class BasicComponentDemo {Frame frame = new Frame(&qu ...
- java实用教程——组件及事件处理——布局管理(五种)
1.流式布局FlowLayout public void pack()调整此窗口的大小,以适合其子组件的首选大小和布局.如果该窗口或其所有者仍不可显示,则两者在计算首选大小之前变得可显示.在计算首选大 ...
- java实用教程——组件及事件处理——设置组件的位置(相对于窗口具体位置和布局)
1: 相对于窗口的具体位置 关键点: JButton组件添加到JPanel时,如果想自己位置,需要对JPanel进行如下设置,才能自定义按钮位置 需要将组件添加到画板上去,才可以设置组件的相对具体位置 ...
- java实用教程——组件及事件处理——对话框(颜色对话框,自定义对话框)
颜色对话框: 可以用javax.swing包中的JColorChooser类的静态方法 public staticColorshowDialog (Component component, Strin ...
最新文章
- 单点登录与权限管理本质:session和cookie介绍
- 微信支付-接收返回通知结果
- 第 3 章 镜像 - 014 - 镜像的缓存特性
- linux cat 命令详解
- vue --- vue中的几个钩子属性
- IIS作为ASP.NET Core2.1 反向代理服务器未说的秘密
- jQuery的创建对象,动态添加、修改、删除属性和方法
- json规范及转义字符
- 一个简单的EXCEL 导入SQL 的例子
- 使用iMazing为iPad添加PDF文档
- application等对象的使用及监听器过滤器
- 【Windows10】C盘快速扩容小妙招
- 二手车数据挖掘- 数据分析
- Ubuntu下mysql远程连接失败MySQL said: Can't connect to MySQL server on 'XXXXXX' (61)
- Qt实现简单拼图游戏
- python下载安装教程电脑版,python下载好了怎么使用
- Learning to See in the Dark
- 【asp.net小札记】Repeater自定义添加排序按钮+显示图片
- 一步步教你破解Termius(针对Termius持续更新导致失效解决,提供7.22.1老版本termius)|CSDN创作打卡
- 电商商品分类EXCEL(仅供参考)
热门文章
- Debugging into .NET Core源代码的两种方式
- VSCode 插件开发实例(WebView):微信读书 ^-^边撸代码边看小说^-^
- C#趣味程序----分数之和
- Flutter之基本数据类型测试
- 【C语言简单说】十:小结
- 衡量计算机浮点数操作性能,计算机系统基础:计算机性能评价知识笔记
- 王道408数据结构——第二章 线性表
- 凌动服务器系列,凌动也能造服务器?超微又出怪异新品
- vue2 怎么用vite_vue3vite简介
- mysql workbench_爬虫实例:玩转mysql(预备篇)