求一个简单的JAVA小程序,要有图形界面。

求一个简单的JAVA小程序,要有图形界面。,第1张

/*计算器*/

import java.awt.*

import javax.swing.*

import javax.swing.border.*

import java.awt.event.*

public class Calculator implements ActionListener{

JFrame frame

JPanel panel

JTextField tfShow/*定义显示文本框*/

JButton b1[]=new JButton[10]/*数字按钮*/

JButton b2[]=new JButton[6]/* *** 作按钮*/

boolean isNumber/*判断是否输入多位数字的变量*/

double number/*存储输入数值、显示结果的变量*/

double result/*存储中间运算结果的变量*/

char operator/*存储当前 *** 作符的成员变量*/

public Calculator(){

frame=new JFrame("计算器")

frame.setSize(300,300)/*指定框架窗口的大小*/

frame.setResizable(false)/*使框架窗口不可改变大小*/

JPanel contentPane=(JPanel)frame.getContentPane()

contentPane.setBorder(new EmptyBorder(20,20,20,20))/*绘制框架的指定大小的空透明边框*/

tfShow=new JTextField("0",25)/*指定属性的文本域*/

tfShow.setHorizontalAlignment(JTextField.RIGHT)/*设置文本域中文本的对齐方式*/

isNumber=true/*初始值设置*/

number=0/*初始值设置*/

result=0/*初始值设置*/

operator=' '/*初始值设置*/

for(int i=0i<b1.lengthi++){

b1[i]=new JButton(Integer.toString(i))/*创建数字按钮*/

b1[i].setActionCommand(Integer.toString(i))

b1[i].addActionListener(this)

b1[i].setForeground(Color.blue)

}

String bs[]={"/","*","-","C","+","="}

for(int i=0i<b2.lengthi++){

b2[i]=new JButton(bs[i])/*创建 *** 作按钮*/

b2[i].setActionCommand(bs[i])

b2[i].addActionListener(this)

b2[i].setForeground(Color.red)

}

panel=new JPanel()

panel.setLayout(new GridLayout(4,5))

panel.add(b1[1])

panel.add(b1[2])

panel.add(b1[3])

panel.add(b2[0])

panel.add(b1[4])

panel.add(b1[5])

panel.add(b1[6])

panel.add(b2[1])

panel.add(b1[7])

panel.add(b1[8])

panel.add(b1[9])

panel.add(b2[2])

panel.add(b1[0])

panel.add(b2[3])

panel.add(b2[4])

panel.add(b2[5])

frame.add(tfShow,BorderLayout.NORTH)/*将文本框放置在框架上方*/

frame.add(panel,BorderLayout.CENTER)/*将装有按钮组的panel放在框架的中心*/

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)/*设置框架窗口的默认窗口关闭 *** 作*/

frame.setVisible(true)/*设置框架可见*/

}

public double getDisplay(){/*返回要显示的结果*/

return number

}

public void reDisplay(){/*刷新文本域的内容*/

tfShow.setText(""+getDisplay())

}

/*对输入数字的处理*/

public void numberProcess(int num){

if(isNumber&&num!=0){

String s1=Integer.toString(num)

String s2=Integer.toString((int)(this.number))

this.number=Double.parseDouble(s2+s1)/*对多位数字的处理*/

}else{

this.number=num

}

isNumber=true/*输入连续数字(即多位数字)时为真*/

}

public void operationProcess(char operator){/*根据输入的 *** 作符改变当前 *** 作符*/

switch(operator){

case '-':

this.operator='-'

break

case '+':

this.operator='+'

break

case '*':

this.operator='*'

break

case '/':

this.operator='/'

break

}

result=number

isNumber=false/*输入 *** 作符时表示输入连续数字的标记变量为假*/

}

public void clear(){

number=0

result=0

}

public void equal(){/*计算运算结果*/

switch(operator){

case '-':

result=result-number

break

case '+':

result=result+number

break

case '*':

result=result*number

break

case '/':

result=result/number

break

case ' ':

result=number

break

}

number=result/*把运算结果赋值给显示变量*/

isNumber=false

operator=' '

}

public static void main(String args[]){

Calculator cal=new Calculator()/*创建计算器*/

}

public void actionPerformed(ActionEvent e){

String command=e.getActionCommand()/*获取按钮激发的 *** 作事件的命令名称*/

char c=command.charAt(0)/*将按钮命令名称的第一个字符赋值给一个字符c*/

switch(c){

case '1':

case '2':

case '3':

case '4':

case '5':

case '6':

case '7':

case '8':

case '9':

case '0':

int number=Integer.parseInt(command)

numberProcess(number)/*输入数字的处理*/

break

case '+':

case '-':

case '*':

case '/':

operationProcess(c)/*算数运算符的处理*/

break

case '=':equal()break/*计算运算结果*/

case 'C':clear()break/*清零*/

}

reDisplay()/*在文本域中显示信息*/

}

}

这是我做的一个计算器:运行截图

import java.awt.BorderLayout

import java.awt.Container

import java.awt.GridLayout

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JPanel

import javax.swing.JTextField

/**

* 计算器的界面

*/

public class JiSuan extends JFrame {

/** 版本信息ID */

private static final long serialVersionUID = 1L

/** 界面上按键的数字 */

private final String[] NUMBER = { "9", "8", "7", "6", "5", "4", "3", "2",

"1", "0", "+/-", "." }

/** 界面行的运算符号 */

private final String[] KEYS = { "/", "sqrt", "*", "%", "-", "1/x", "+", "=" }

/** 界面行的其他命令 */

private final String[] COMMAND = { "Backspace", "CE", "C" }

/** 界面行的存储命令名 */

private final String[] M = { " ", "MC", "MR", "MS", "M+" }

/** 数字按钮 */

private JButton number[] = new JButton[NUMBER.length]

/** 运算符按钮 */

private JButton keys[] = new JButton[KEYS.length]

/** 其他指令按钮 */

private JButton command[] = new JButton[COMMAND.length]

/** 存储功能按钮 */

private JButton m[] = new JButton[M.length]

/** 文本框,用于模拟计算器的显示屏 */

private JTextField jt = new JTextField("0")

/**

* 构造函数

*/

public JiSuan() {

Container container = getContentPane()// 获取显示容器

container.setLayout(new BorderLayout())// 设置容器的布局管理器

JPanel p1 = new JPanel()// 创建数字按钮面板

p1.setLayout(new GridLayout(4, 3))// 设置面板的布局管理器为GridLayout

// 循环添加数字按钮

for (int i = 0i <NUMBER.lengthi++) {

number[i] = new JButton(NUMBER[i])//创建一个按钮

p1.add(number[i])//将按钮添加到面板上

}

JPanel p2 = new JPanel(new BorderLayout())// 创建运算符按钮面板

p2.setLayout(new GridLayout(4, 2))// 设置面板的布局管理器为GridLayout

// 循环添加运算符按钮

for (int i = 0i <KEYS.lengthi++) {

keys[i] = new JButton(KEYS[i])//创建一个按钮

p2.add(keys[i])//将按钮添加到面板上

}

JPanel p3 = new JPanel(new BorderLayout())// 创建存储功能按钮面板

p3.setLayout(new GridLayout(4, 1))// 设置面板的布局管理器为GridLayout

// 循环添加存储功能按钮

for (int i = 0i <M.lengthi++) {

m[i] = new JButton(M[i])//创建一个按钮

p3.add(m[i])//将按钮添加到面板上

}

JPanel p4 = new JPanel(new BorderLayout())// 创建一个总的面板,将前面创建的3个面板加入到其中

p4.add(p3, BorderLayout.WEST)//加入存储功能按钮面板,在左边

p4.add(p1, BorderLayout.CENTER)//加入数字按钮面板,在中间

p4.add(p2, BorderLayout.EAST)//加入运算符按钮面板,在右边

JPanel p5 = new JPanel(new BorderLayout())// 创建其他功能按钮面板

p5.setLayout(new GridLayout(1, 3))// 设置面板的布局管理器为GridLayout

// 循环添加其他功能按钮

for (int i = 0i <COMMAND.lengthi++) {

command[i] = new JButton(COMMAND[i])//创建一个按钮

p5.add(command[i])//将按钮添加到面板上

}

JPanel p6 = new JPanel(new BorderLayout())// 创建一个总的面板,将前面创建的2个面板和用做屏幕的文本框加入到其中

p6.add(jt, BorderLayout.NORTH)// 加入文本框,在上面

p6.add(p5, BorderLayout.CENTER)//加入其他功能按钮面板,在中间

p6.add(p4, BorderLayout.SOUTH)// 加入上面创建的按钮总面板,在下面

container.add(p6, BorderLayout.EAST)//将完整的计算器界面加入显示容器中

container.add(new JButton("开发中..."), BorderLayout.CENTER)// 在显示容器中添加一个按钮,按钮文字为开发中...

}

/**

* 主函数入口

*

* @param args

*/

public static void main(String[] args) {

JiSuan ji = new JiSuan()// 创建一个计算器界面

ji.setTitle("窗口布局")// 设置TItle

ji.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)// 设置默认的关闭动作

ji.setSize(400, 200)// 设置计算器窗口的尺寸

ji.setVisible(true)// 将计算器界面显示出来

}

}

先到官网下载myeclipse或者eclipse编程软件,并配置java环境变量,在百度搜索栏依次搜索eclipse下载和搜索java环境变量的配置,就可以找到图文并茂的详细教程。下面介绍一下怎么制作小程序:

1、打开myeclispe(eclipse都一样),依次点击File->New->Java Project,然后给这个项目起一个名字(随便起),这里就叫MyFirst.然后点击Finish;

2、在myeclipse左侧找到自己建好的MyFirst项目,左键点击,下面有文件件src,点击src,右键,依次点击New->Class,然后给这个新的类起一个名字(随便起),我这里叫MyFirstClass,然后点击Finish;

3、复制粘贴下面这些代码到MyFirstClass.java文件中,然后ctrl+s,保存;

4、在MyFirstClass.java文件的空白处右键选择 Run As -->Java Application,你就会在下方的控制台看到hello worl。

扩展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

参考资料:Java-百度百科


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12076278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存