java中GUI实现两个文本框内容相加并触发等于按钮得到相加结果
2018-04-16 17:06
411 查看
import java.awt.*; import java.awt.event.*; public class TestMath { public static void main(String args[]) { new MyFrame().launchMyFrame(); //调用launchMyFrame方法 } } class MyFrame extends Frame { TextField num1,num2,num3; //先声明,后初始化。先声明为成员变量,可以被访问 public void launchMyFrame() { num1 = new TextField(10); //若在此声明和初始化,则为局部变量,不可被其他对象访问 num2 = new TextField(10); //加上数字10表示设置文本框宽度(10个字符宽) num3 = new TextField(15); //num3文本框来放最后的和(所以大一点) Label lb = new Label("+"); //加号是静态的文本,所以用Label Button b = new Button("="); //等于按钮,可以触发事件(求和事件) b.addActionListener(new myMonitor(this)); //给按钮b加上监听器 setLayout(new FlowLayout()); //Panel类的布局管理器 add(num1); //将文本框加到框架(窗体)中 add(lb); add(num2); //这几个加入窗体中,是有顺序之分(按照实际要实现排列) add(b); add(num3); pack(); //设置窗体大小(刚好包住所有输入框的大小) setVisible(true); //设置窗体可见 } //方法3:使用内部类(可以实现一个类访问其他类的成员变量) /* class myMonitor implements ActionListener { //事件监听器(点击按钮,触发的事件) public void actionPerformed(ActionEvent e) { //事件监听器都需要重写里面的方法 int n1 = Integer.parseInt(num1.getText()); //int类型强制转化(获取num1文本框输入的内容) int n2 = Integer.parseInt(num2.getText()); num3.setText("" + (n1+n2)); //设置num3文本框的内容(""表示强制转化字符串) } } 但是上面的添加监听事件代码,需要稍作改动: b.addActionListener(new myMonitor()); //给按钮b加上监听器 */ } class myMonitor implements ActionListener { //事件监听器(点击按钮,触发的事件) MyFrame tf = null; //一个类不能直接访问其他类成员变量 public myMonitor(MyFrame tf) { //在该对象中持有对方的引用(整个类的引用) this.tf = tf; } /*这一段等效上面持有对方的引用(实现了一个类访问另一个类中的成员变量) TextField num1,num2,num3; //将对方的成员变量传给自己的方法中 public myMonitor(TextField num1,TextField num2,TextField num3) { this.num1 = num1; this.num2 = num2; this.num3 = num3; } public void actionPerformed(ActionEvent e) { int n1 = Integer.parseInt(num1.getText()); int n2 = Integer.parseInt(num2.getText()); num3.setText("" + (n1+n2)); } 但是上面的添加监听事件代码,需要稍作改动: b.addActionListener(new myMonitor(num1,num2,num3)); //给按钮b加上监听器 */ public void actionPerformed(ActionEvent e) { //事件监听器都需要重写里面的方法 int n1 = Integer.parseInt(tf.num1.getText()); //int类型强制转化(获取num1文本框输入的内容) int n2 = Integer.parseInt(tf.num2.getText()); tf.num3.setText("" + (n1+n2)); //设置num3文本框的内容(""表示强制转化字符串) } }
相关文章推荐
- 窗体上有两个文本框:一个文本框中最多输入字符6个;一个文本框中输入任何内容都显示*号。再添加一个按钮、2个单选按钮。实现单击按钮后,根据单选按钮,将对应文本框中内容显示在标签
- java实现 数组中两个元素相加等于指定数的所有组合
- C#--第11周实验--任务3--设计一个窗体,窗体上有两个文本框,一个按钮,2个单选按钮--实现单击按钮后,根据单选按钮,将对应文本框中内容显示在标签。
- 在窗体上放置saveFileDialog、openFileDialog两个控件。实现功能:1)程序运行时,在文本框(注意文本框多行、带垂直滚动条)中输入汉字、字符等,单击保存按钮,即可将文本框中内容保
- 1, 编写程序,当用户在文本框中输入内容之后,单机不同的按钮,能够把文半框中的内容粘贴到文本区中。“重置”按钮实现将文本框和文本区中的内容清空。界面上的文本区只能显示内容,不能让用户输入文本。运行结果
- Android 一个按钮两次单击触发两个不同事件并实现两个View在同一界面切换
- java实现两个大数相加
- js实现点击按钮复制文本框中的内容
- Web小功能1——jquery实现一个按钮两个功能(触发不同事件)
- java实现输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head
- 用户在文本框中输入需要转换的十进制数,通过点击3个按钮在标签中显示结果。(点击一个实现一个)
- 手动创建两个文本文件text1.txt,text2.txt,要求编程创建text3.txt,实现text1.txt和text2.txt文件中除去首行和末尾,其余对应的数据相加,三个文本的内容如下
- Java实现的比较两个不同的文本,在文本面板中显示不同文本的内容(完整源码)
- 实现一个计算器,界面包括10个数字按钮(0至9)和四个运算符(加减乘除)按钮,以及等号和清空两个辅助按钮,还有一个用于显示输入输出的文本框。
- js实现点击按钮复制文本框中的内容
- 写一个功能函数实现从数组中找出两个值相加等于某一个值,要求时间复杂度为 n;
- Java GUI JLabel实现内容换行居中
- java实现两个大数相加,可能出现溢出错误
- 实现当文本框为空时,按钮不可点击,当文本框中的内容与列表中的内容相同时有提示且按钮也不可点击哟!
- 窗口上提供四个文本框和一个按钮,幼儿可以在前三个文本框中输入两个运算数和运算符号,当点击按钮时在第四个文本框中显示结果。