从大一开始就有人做计算器,那时候由于对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编程语言实现的图形用户界面(GUI)计算器项目。描述中的"java calculator source code GUI implementation"进一步确认了这一点,它是一个包含源...
在本项目"GUI-Calculator"中,开发者使用了MATLAB的GUIDE(Graphical User Interface Development Environment)工具来构建这个计算器。GUIDE是MATLAB提供的一个强大工具,用于创建自定义的、交互式的图形用户界面。...
在这个"Simple Calculator GUI Project using Turtle in Python"中,我们将探讨如何利用Python的Turtle库,一个原本用于绘制图形的库,来创建一个基本的计算器界面。虽然Turtle库主要用于教学目的,但这个项目展示了...
初学gui做了一个计算器的gui-calculator.fig 初学gui,做了一个简单的计算器gui,和大家一起分享学习matlab的快乐 matlab_calculator.JPG calculator.fig ...
标题"Calculator_matlabGUI制作计算器"表明我们的目标是创建一个具有基本计算功能的计算器。这个计算器应该能够执行加、减、乘、除等基本运算。在GUIDE中,我们将设计一个界面,包含数字按钮、运算符按钮、清除按钮...
本项目"calculator-gui"就是一个使用Java Swing创建的简单计算器,非常适合初学者进行实践操作和学习。 首先,让我们深入了解Java Swing。Swing是Java Foundation Classes (JFC)的一部分,它提供了丰富的组件库,...
初学gui做了一个计算器的gui-calculator.m 初学gui,做了一个简单的计算器gui,和大家一起分享学习matlab的快乐 matlab_calculator.JPG calculator.fig ...
在这个项目中,“Calculator”是核心功能,而“pythongui”指的是所采用的Python GUI库,可能是Tkinter、PyQt、wxPython等。"availablei54"可能是一个特定版本号或项目的标识符,但在这里没有提供足够的信息来详细...
matlab GUI计算器包含:基础运算、特殊运算、结果数据处理。包含原始代码和设计说明书。可以辅助初学者进行学习,也可以给计算器开发者进行进一步开发提供思路。 (1)基础运算符包含“+”,“-”,“*”,“/”,...
【标题】"calculator_tryl65_matlabGUI_" 指的是一款基于 MATLAB GUI(图形用户界面)开发的简易计算器程序。"tryl65"可能是开发者或项目的别名,而"matlabGUI"标签则明确了这个程序是利用MATLAB的图形化编程工具...
Windows操作系统自带的计算器是个很方便的小工具,利用Java的GUI编程,实现一个Java GUI计算器应用程序界面,窗口标题为“计算器”,窗口布局如下图所示,在此计算器应用程序中实现“+、-、*、/”运算操作
"matlab-GUI.rar_calculator MATLAB"这个压缩包中包含的就是一个用MATLAB开发的计算器应用程序。 首先,`calculator.fig`文件是MATLAB的图形用户界面设计文件。在MATLAB中,.fig文件存储了用户界面的所有元素,如...
标题中的“Python_Calculator.rar_boa_gui py_py gui_python boa_python calcul”表明这是一个使用Python编程语言构建的计算器应用,其界面是通过GUI(图形用户界面)实现的,特别是使用了BOA Constructor这一工具。...
标题"calculator_C-C++_calculator_"表明我们将探讨一个用C或C++编写的计算器程序。描述中的"function calculator from calculator"暗示我们将专注于计算器程序中的函数实现。 C++相比C语言,提供了类和对象的概念...
本项目“SimpleCalculator”是利用Matlab 2007编译的一个简单图形用户界面(GUI)计算器,它由两个主要文件组成:.fig文件和.m文件。通过这两个文件,我们可以学习到如何在Matlab中构建一个基本的图形界面以及与其...
matlab GUI 计算器,和附件的计算器功能类似,由GUI实现
在"Tkinter_Calculator"项目中,你将学习如何利用Python编程语言和Tkinter库来构建一个计算器GUI。 首先,让我们深入了解Tkinter库。Tkinter是Python的默认GUI库,它基于Tcl/Tk库。它提供了丰富的组件集,如按钮、...
【Calculator】程序是一个基于Java开发的简易图形用户界面(GUI)应用,专为初学者设计,帮助他们理解和实践如何在Java中创建一个简单的计算器。这个项目涵盖了基础的GUI设计、事件处理以及基本的算术运算,是Java ...
总的来说,《Calculator_version_2020_2_3.zip》是一个基础的C++实现的计算器程序,它展示了如何通过中缀到后缀转换和栈操作来解决计算问题。尽管有其局限性,但对于学习计算机科学,尤其是编译原理和数据结构的初学...
《Calculator-master:构建高效计算器应用》 在计算机领域,计算器软件是不可或缺的工具,尤其对于程序员和数学爱好者来说。本文将深入探讨一个名为"Calculator-master_calculator_"的项目,它是一个基本的Windows...