`
thinkingmt
  • 浏览: 24628 次
  • 性别: Icon_minigender_1
  • 来自: 桂林
社区版块
存档分类
最新评论

Calculator GUI Work(Version T1)

阅读更多

从大一开始就有人做计算器,那时候由于对gui不太熟悉,再加上当时认为算法自己理解地不是很透彻,所以没有自己做过。最近一直想努力做好gui,所以做了一个计算器的gui。

 

这篇文章来实例自己如何一步一步没话界面,有好建议的希望提出来。

 

首先,上version 1

 

代码:

 

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
 * This class is to build the frame layout of the project. What's more, add 
 * actionListener to every button.
 * @author Tian Meng
 * @version 2011-4-5
 */
public class GuiFrame extends JFrame
{
    JTextArea displayMessage =new JTextArea("\n0",2,26);
    JButton[] numbers =new JButton[10];//数字键
    JButton[] identifyOfNumbers =new JButton[2];//小数点和正负号
    JButton[] operator =new JButton[8];// + ; - ; * ; /  ; =  ; sqrt  ;1/x ;  %
    JButton[] clearer =new JButton[2]; // reset 和 backspace
    
    /**
     * constructor of this class
     */
    public GuiFrame()
    {
        initButtons();
        makeFrame();
        setVisible(true);
        pack();
    }
    
    /**
     *Initailize the buttons in the frame
     */
    private void initButtons()
    {
        init_numbers();
        init_identifyOfNumbers();
        init_operator();
        init_clearer();
    }
    
    /**
     * Initalize the number buttons anb add actionlistener
     */
    private void init_numbers()
    {
        String[] nub ={"7","8","9","4","5","6","1","2","3","0"};
        for(int i=0;i<10;i++)
        {
            numbers[i]=new JButton(nub[i]);
            numbers[i].setForeground(Color.BLUE);
            numbers[i].addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    
                }
            });
        }
    }
    
    /**
     * Initalize the "+/-" and " . " buttons, then add actionlistener
     */
    private void init_identifyOfNumbers()
    {
        for(int i=0;i<2;i++)
        {
            if(i==0)
            {
                identifyOfNumbers[i]= new JButton("+/-");
            }
            else
            {
                identifyOfNumbers[i]= new JButton(".");
            }
            identifyOfNumbers[i].setForeground(Color.BLUE);
            identifyOfNumbers[i].addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    
                }
            });
        }
    }
    
    /**
     * Initalize the operators buttons anb add actionlistener
     */
    private void init_operator()
    {
        String[] op={"/","sqrt","*","%","-","1/x","+","="};
        for(int i=0;i<8;i++)
        {
            operator[i] =new JButton(op[i]);
            operator[i].setForeground(Color.RED);
            operator[i].addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    
                }
            });
        }
    }
    
    /**
     * Initalize the clear buttons anb add actionlistener
     */
    private void init_clearer()
    {
         for(int i=0;i<2;i++)
        {
            if(i==0)
            {
                clearer[i]= new JButton("BackSpace");
            }
            else
            {
                clearer[i]= new JButton("Clear");
            }
            clearer[i].setForeground(Color.RED);
            clearer[i].addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    
                }
            });
        }
    }
    
    /**
     * this method is to construct the frame layout
     */
    private void makeFrame()
    {
        Container con=getContentPane();
        con.setLayout(new BorderLayout());
        //displayMessage in the north part
        JPanel northPanel =new JPanel();
        con.add(northPanel,BorderLayout.NORTH);
        displayMessage.setEnabled(false);
        displayMessage.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
        northPanel.add(displayMessage);
        //clearer in the center part
        JPanel centerPanel =new JPanel();
        con.add(centerPanel,BorderLayout.CENTER);
        centerPanel.add(clearer[0]);
        centerPanel.add(clearer[1]);
        //numbers and operators in the south part
        JPanel southPanel =new JPanel(new BorderLayout());
        JPanel numPanel =new JPanel(new GridLayout(4,3,3,3));
        JPanel opePanel =new JPanel(new GridLayout(4,2,3,3));
        con.add(southPanel,BorderLayout.SOUTH);
        southPanel.add(numPanel,BorderLayout.CENTER);
        southPanel.add(opePanel,BorderLayout.EAST);
        for(int i=0;i<10;i++)
        {
            numPanel.add(numbers[i]);
        }
        numPanel.add(identifyOfNumbers[0]);
        numPanel.add(identifyOfNumbers[1]);
        numPanel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
        for(int i=0;i<8;i++)
        {
            opePanel.add(operator[i]);
        }
        opePanel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
    }
}

 

 

 效果图如下:

 

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

version2 To be continued ...

分享到:
评论

相关推荐

    Java-calculator.zip_calculator gui

    标题中的"Java-calculator.zip_calculator gui"表明这是一个使用Java编程语言实现的图形用户界面(GUI)计算器项目。描述中的"java calculator source code GUI implementation"进一步确认了这一点,它是一个包含源...

    GUI-Calculator_GUI-Calculator_GUI_

    在本项目"GUI-Calculator"中,开发者使用了MATLAB的GUIDE(Graphical User Interface Development Environment)工具来构建这个计算器。GUIDE是MATLAB提供的一个强大工具,用于创建自定义的、交互式的图形用户界面。...

    Simple Calculator GUI Project using Turtle in Python

    在这个"Simple Calculator GUI Project using Turtle in Python"中,我们将探讨如何利用Python的Turtle库,一个原本用于绘制图形的库,来创建一个基本的计算器界面。虽然Turtle库主要用于教学目的,但这个项目展示了...

    初学gui做了一个计算器的gui-calculator.fig

    初学gui做了一个计算器的gui-calculator.fig 初学gui,做了一个简单的计算器gui,和大家一起分享学习matlab的快乐 matlab_calculator.JPG calculator.fig ...

    Calculator_matlabGUI制作计算器_

    标题"Calculator_matlabGUI制作计算器"表明我们的目标是创建一个具有基本计算功能的计算器。这个计算器应该能够执行加、减、乘、除等基本运算。在GUIDE中,我们将设计一个界面,包含数字按钮、运算符按钮、清除按钮...

    calculator-gui

    本项目"calculator-gui"就是一个使用Java Swing创建的简单计算器,非常适合初学者进行实践操作和学习。 首先,让我们深入了解Java Swing。Swing是Java Foundation Classes (JFC)的一部分,它提供了丰富的组件库,...

    初学gui做了一个计算器的gui-calculator.m

    初学gui做了一个计算器的gui-calculator.m 初学gui,做了一个简单的计算器gui,和大家一起分享学习matlab的快乐 matlab_calculator.JPG calculator.fig ...

    PythonCalculator_pythongui_calculator_python_GUI_availablei54_

    在这个项目中,“Calculator”是核心功能,而“pythongui”指的是所采用的Python GUI库,可能是Tkinter、PyQt、wxPython等。"availablei54"可能是一个特定版本号或项目的标识符,但在这里没有提供足够的信息来详细...

    calculator_gui.zip

    matlab GUI计算器包含:基础运算、特殊运算、结果数据处理。包含原始代码和设计说明书。可以辅助初学者进行学习,也可以给计算器开发者进行进一步开发提供思路。 (1)基础运算符包含“+”,“-”,“*”,“/”,...

    calculator_tryl65_matlabGUI_

    【标题】"calculator_tryl65_matlabGUI_" 指的是一款基于 MATLAB GUI(图形用户界面)开发的简易计算器程序。"tryl65"可能是开发者或项目的别名,而"matlabGUI"标签则明确了这个程序是利用MATLAB的图形化编程工具...

    Calculator.rar_GUI 计算器_JAVA 计算器 GUI_Java GUI计算器_calculator_gadge

    Windows操作系统自带的计算器是个很方便的小工具,利用Java的GUI编程,实现一个Java GUI计算器应用程序界面,窗口标题为“计算器”,窗口布局如下图所示,在此计算器应用程序中实现“+、-、*、/”运算操作

    matlab-GUI.rar_calculator MATLAB

    "matlab-GUI.rar_calculator MATLAB"这个压缩包中包含的就是一个用MATLAB开发的计算器应用程序。 首先,`calculator.fig`文件是MATLAB的图形用户界面设计文件。在MATLAB中,.fig文件存储了用户界面的所有元素,如...

    Python_Calculator.rar_boa_gui py_py gui_python boa_python calcul

    标题中的“Python_Calculator.rar_boa_gui py_py gui_python boa_python calcul”表明这是一个使用Python编程语言构建的计算器应用,其界面是通过GUI(图形用户界面)实现的,特别是使用了BOA Constructor这一工具。...

    calculator_C-C++_calculator_

    标题"calculator_C-C++_calculator_"表明我们将探讨一个用C或C++编写的计算器程序。描述中的"function calculator from calculator"暗示我们将专注于计算器程序中的函数实现。 C++相比C语言,提供了类和对象的概念...

    SimpleCalculator

    本项目“SimpleCalculator”是利用Matlab 2007编译的一个简单图形用户界面(GUI)计算器,它由两个主要文件组成:.fig文件和.m文件。通过这两个文件,我们可以学习到如何在Matlab中构建一个基本的图形界面以及与其...

    calculator.rar_GUI计算_gui 计算器_matlab 计算器_计算器 GUI_计算器MATLAB

    matlab GUI 计算器,和附件的计算器功能类似,由GUI实现

    Tkinter_Calculator:该目录用于维护Tkinter用Python Prgramming语言制作的Calculator GUI

    在"Tkinter_Calculator"项目中,你将学习如何利用Python编程语言和Tkinter库来构建一个计算器GUI。 首先,让我们深入了解Tkinter库。Tkinter是Python的默认GUI库,它基于Tcl/Tk库。它提供了丰富的组件集,如按钮、...

    Calculator

    【Calculator】程序是一个基于Java开发的简易图形用户界面(GUI)应用,专为初学者设计,帮助他们理解和实践如何在Java中创建一个简单的计算器。这个项目涵盖了基础的GUI设计、事件处理以及基本的算术运算,是Java ...

    Calculator_version_2020_2_3.zip

    总的来说,《Calculator_version_2020_2_3.zip》是一个基础的C++实现的计算器程序,它展示了如何通过中缀到后缀转换和栈操作来解决计算问题。尽管有其局限性,但对于学习计算机科学,尤其是编译原理和数据结构的初学...

    Calculator-master_calculator_

    《Calculator-master:构建高效计算器应用》 在计算机领域,计算器软件是不可或缺的工具,尤其对于程序员和数学爱好者来说。本文将深入探讨一个名为"Calculator-master_calculator_"的项目,它是一个基本的Windows...

Global site tag (gtag.js) - Google Analytics