求用JAVA桌面编程编写小程序

求用JAVA桌面编程编写小程序,第1张

package t

import java.awt.Button

import java.awt.Frame

import java.awt.Label

import java.awt.Panel

import java.awt.TextField

public class UI extends Frame {

public UI() {

super("登录界面")

Panel p = new Panel()

p.setLayout(null)

Label l1=new Label("用户名")

l1.setBounds(20,20, 100,30)

Label l2=new Label("密码")

l2.setBounds(20,55, 100,30)

TextField t1=new TextField()

t1.setBounds(120,20, 100,20)

TextField t2=new TextField()

t2.setBounds(120,55, 100,20)

Button enter = new Button("确定")

enter.setBounds(100,90, 50,30)

Button help = new Button("取消")

help.setBounds(160,90, 50,30)

p.add(l1)

p.add(l2)

p.add(t1)

p.add(t2)

p.add(enter)

p.add(help)

p.setBounds(0,0,200,200)

this.add(p)

this.setBounds(100,100,300,200)

this.setVisible(true)

}

public static void main(String args[]) {

new UI()

}

}

/*计算器*/

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()/*在文本域中显示信息*/

}

}

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


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

原文地址:https://54852.com/yw/7789459.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存