javaGUI设计简单计算器实验报告

您所在的位置:网站首页 java创建一个窗口进行简单加减乘除的计算过程 javaGUI设计简单计算器实验报告

javaGUI设计简单计算器实验报告

2024-07-01 13:19| 来源: 网络整理| 查看: 265

1.

package GUI;

import java.awt.*;

import javax.swing.*;

public class GUI extends JFrame{

public GUI(){

JPanel inputPanel = new JPanel();

JPanel inputPanel1 = new JPanel();

JPanel inputPanel2 = new JPanel(); //创建三个面板对象分别放置三个编辑框及其标签

JTextField inputField = new JTextField(22);

JTextField inputField1 = new JTextField(22);

JTextField inputField2 = new JTextField(22); //创建三个长度为22的空的文本编辑框

Label label = new Label("用户名:");//创建标签对象 设置参数

inputPanel.add(label);           //将标签放入面板对象中

inputPanel.add(inputField);      //将空的文本编辑框放入面板对象中

Label label1 = new Label("密    码:");

inputPanel1.add(label1);

inputPanel1.add(inputField1);//

Label label2 = new Label("确认密码:");

inputPanel2.add(label2);

inputPanel2.add(inputField2);

this.add(inputPanel);

this.add(inputPanel1);

this.add(inputPanel2); //将三个面板放入窗体中

JPanel radiopanel = new JPanel();

Label radiolabel = new Label("性别:");

radiopanel.add(radiolabel);

radiopanel.add(new JRadioButton("男"));

radiopanel.add( new JRadioButton("女"));

this.add(radiopanel);    //创建两个单选按钮,标签为性别

JPanel checkpanel = new JPanel();

Label checklabel = new Label("爱好:");

checkpanel.add(checklabel);

checkpanel.add(new JCheckBox("阅读"));

checkpanel.add(new JCheckBox("上网"));

checkpanel.add(new JCheckBox("游泳"));

checkpanel.add(new JCheckBox("旅游"));

this.add(checkpanel);     //创建四个复选按钮,标签为爱好

JPanel inputPanel3 = new JPanel();

JTextArea inputField3 = new JTextArea(2,20);

Label inputlabel3 = new Label("地址:");

inputPanel3.add(inputlabel3);

inputPanel3.add(inputField3);

this.add(inputPanel3);     //创建一个具有指定行和列的空文本域

JPanel combopanel = new JPanel();

Label combolabel = new Label("学历:");

combopanel.add(combolabel);

JComboBox comboBox = new JComboBox();

comboBox.addItem("请选择学历");

comboBox.addItem("小学");

comboBox.addItem("初中");

comboBox.addItem("高中");

comboBox.addItem("本科");

combopanel.add(comboBox);

this.add(combopanel); //创建一个下拉列表框

JPanel panel = new JPanel();

panel.add(new JButton("确定"));

panel.add(new JButton("取消"));

this.add(panel);       //创建两个按钮

this.setTitle("用户注册");//创建一个标题为用户注册的窗体

this.setSize(340,450);//该窗体大小

this.setLayout(new GridLayout(8,1));//该窗体中的面板的排列方式

this.setVisible(true); //显示窗体

}

public static void main(String[] args){

new GUI();

}

}

2.

package Calculator;

import java.util.*;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class Calculator{

   public static void main(String[] args){

   new  Interface();

   }

}

class Interface extends JFrame {

   ArrayList list = new ArrayList();//用来存该运算中的数,以及运算结果,由文本编辑框得到

   ArrayList lists = new ArrayList();//用来存该运算中使用了的运算符,当点击运算符按钮存起集合lists

   int cout = 0;                                     //计数运算符,用来作为集合中各元素的下标

   JPanel inputpanel;                                //GUI组件的布局包括如下三个过程:1。创建面板,确定面板中的布局管理

   JTextField inputField;                            //                     2.给面板添加标签

   JButton button;                                   //                     3.为面板添加按钮,文本编辑框等组件

   JButton btn1,btn2,btn3,btn4;

   JButton btn5,btn6,btn7,btn8;

   JButton btn9,btn10,btn11,btn12;

   JButton btn13,btn14,btn15,btn16;

   public Interface(){

  inputpanel = new JPanel();

  inputField = new JTextField(9);               //文本框长度为9             

  button = new JButton("清零");

  inputpanel.add(inputField);

  inputpanel.add(button);

  this.add(inputpanel);  

  JPanel panel = new JPanel(new GridLayout(4,4));//设置panel面板的布局管理为GridLayout管理器,为一个4*4的网格

  btn1 = new JButton("7");

  btn2 = new JButton("8");

  btn3 = new JButton("9");

  btn4 = new JButton("+");

  btn5 = new JButton("4");

  btn6 = new JButton("5");

  btn7 = new JButton("6");

  btn8 = new JButton("-");

  btn9 = new JButton("1");

  btn10 = new JButton("2");

  btn11 = new JButton("3");

  btn12 = new JButton("×");

  btn13 = new JButton("0");

  btn14 = new JButton(".");

  btn15 = new JButton("=");

  btn16 = new JButton("÷");  //定义Button按钮

  panel.add(btn1);

  panel.add(btn2);

  panel.add(btn3);

  panel.add(btn4);

  panel.add(btn5);

      panel.add(btn6);

  panel.add(btn7);

  panel.add(btn8);

      panel.add(btn9);

      panel.add(btn10);

      panel.add(btn11);

      panel.add(btn12);

      panel.add(btn13);

  panel.add(btn14);

  panel.add(btn15);

  panel.add(btn16);            //将按钮添加进panel面板

  btn1.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

     inputField.setText(inputField.getText()+"7");

 }

  });                         

 btn2.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

 inputField.setText(inputField.getText()+"8");

 }

 });

 btn3.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

 inputField.setText(inputField.getText()+"9");

 }

 });

 btn5.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

     inputField.setText(inputField.getText()+"4");

 }

 });

 btn6.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

 inputField.setText(inputField.getText()+"5" );

 }

 });

 btn7.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

inputField.setText(inputField.getText()+"6");

 }

 });

 btn9.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

    inputField.setText(inputField.getText()+"1");

 }

 });

 btn10.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

 inputField.setText(inputField.getText()+"2");

 }

 });

 btn11.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

 inputField.setText(inputField.getText()+"3");

 }

 });

 

 btn13.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

 inputField.setText(inputField.getText()+"0");

 }

 });

 btn14.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

 inputField.setText(inputField.getText()+".");

 }

 });                    //为数字按钮和小数点按钮添加点击事件,点击之后按钮所代表数字显示在文本编辑框

 btn4.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

 list.add(inputField.getText()); //运算的实现,获取在文本编辑框上显示的文本,并存入集合list中

 lists.add("+");     //获取运算符,存入lists中

 cout++;             //标记运算符的个数,也就是要进行运算的次数

 inputField.setText("");         //将编辑框置为空的,方便下一个数据的额输入

 }

 });             

 btn8.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

 list.add(inputField.getText());

 lists.add("-");

 cout++;

 inputField.setText("");  

 }

     });

     btn12.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

 list.add(inputField.getText());

 lists.add("×");

 cout++;

 inputField.setText("");  

 }

     });

 btn16.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

 list.add(inputField.getText());

 lists.add("÷");

 cout++;

 inputField.setText("");  

 }

 });

 btn15.addActionListener(new ActionListener () {

 public void actionPerformed(ActionEvent e){

 list.add(inputField.getText());           //点击按钮=时,把此事编辑框显示的数据存入list

 inputField.setText(Operator(lists.get(cout-1)));//把运算得到的结果存入list,作为下一个运算符运算的前一个数

 }

 });

 button.addActionListener(new ActionListener () {

public void actionPerformed(ActionEvent e){

inputField.setText("");

    list.clear();     //将list和lists集合保存的上一次运算的各要素清空

lists.clear();

cout = 0;              //把cout的值还原

}

 });

 this.add(panel);

     this.setTitle("计算器");

     this.setSize(185,205);

     this.setLayout(new FlowLayout());

     this.setVisible(true);                 //GUI窗体

  }

public String  Operator(String str){

Double result = 0.0 ;

Double a = Double.parseDouble(list.get(2*cout-2));//将list中记录的第一个运算符前一个数据转化为Double类型

Double b = Double.parseDouble(list.get(2*cout-1));//将list中记录的第一个运算符后一个数据转化为Double类型

switch(str){                                      //cout表示第几个字符

case "+" : result = a + b;

           break;

case "-" : result = a - b;

               break;

case "×" : result = a * b;

               break;

case "÷" : result = a / b;

               break;

}

String res = String.valueOf(result);

return res; //通过switch语句得到各种运算之后的返回值并转化为String类型

 }

}

 

 

 

 

 

 

 

 

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3