哈哈哈,开心,第一次用所学到的知识完成了一个小小的作品吧。
本来不想学swing的,觉得没什么用,但是看了两本书都在java基础的结束讲解了swing的内容,想想还是看看吧,由于我安装了图形化操作模式,所以我直接看了事件处理部分,刚看完点击事件部分就想着是不是可以用这部分做个计算器?
想到就做!直接画图做了个框架,
,如图所示,界面做好了,接下来就是功能的实现了,先想清楚操作流程:
1.输入一个数字:利用界面小键盘输入,还要显示在上面的文本框,网上查了关于button和textFile之间数据的传递的资料,直接在点击某个数字的时候进入点击事件,然后先gettext()得到文本框的数据,然后+settext()显示在文本框中,实现了数字的输入。
2.点击运算符+,-,*,/,等,那就需要在点击事件中先得到文本框的内容,赋值给number1,还要区别+,-,*,/,于是定义了一个flag,+,-,*,/,分别对应不同的值。
3.输入第二个数,和第一个数一样
4.点击=,文本框中显示结果,点击=进入点击事件,先判断之前flag的值,然后用if语句进行运算,然后把结果result显示在文本框中。
进行测试
+
=
,但是没法进行第二次运算,于是又添加了一个AC按钮,进行清零。
整体代码如下:
public class eventDemo1 extends JFrame {
int number1;
package base.swing;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.naming.spi.DirStateFactory.Result;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.naming.spi.DirStateFactory.Result;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class eventDemo1 extends JFrame {
int number1;