精华内容
下载资源
问答
  • //声明需要插入的包importjava.awt.*;importjava.lang.Object;...importjavax.swing.*;importjava.awt.event.*;importjava.awt.TextComponent;//声明一个主类jisuanqi,继续窗口类Framepublicclassjisuanqi...

    //声明需要插入的包

    import java.awt.*;

    import java.lang.Object;

    import java.lang.String;

    import javax.swing.*;

    import java.awt.event.*;

    import java.awt.TextComponent;

    //声明一个主类jisuanqi,继续窗口类Frame

    public class jisuanqi extends Frame{

    //声明16个Button

    Button anjian1, anjian2, anjian3, anjian4, anjian5, anjian6, anjian7, anjian8, anjian9, anjian10, anjian11, anjian12, anjian13, anjian14,anjian15,anjian16;

    //声明文本框,用于接收数字和计算

    TextField numText;

    //声明面板容器,用于存放各种按钮

    Panel anjianPanel;

    //构造方法初始化按钮

    jisuanqi(String title){

    super(title);

    anjian1=new Button("0");

    anjian2=new Button("1");

    anjian3=new Button("2");

    anjian4=new Button("3");

    anjian5=new Button("4");

    anjian6=new Button("5");

    anjian7=new Button("6");

    anjian8=new Button("7");

    anjian9=new Button("8");

    anjian10=new Button("9");

    anjian11=new Button("+");

    anjian12=new Button("-");

    anjian13=new Button("*");

    anjian14=new Button("/");

    anjian15=new Button("=");

    anjian16=new Button("清空");

    //初始化文本框,将文本的值设置为“0”

    numText=new TextField("0");

    //实例化面板;

    anjianPanel=new Panel();

    //设置按钮

    anjianPanel.setLayout(new FlowLayout());

    //实例化按钮

    anjian1.addActionListener(new anjianAction());

    anjian2.addActionListener(new anjianAction());

    anjian3.addActionListener(new anjianAction());

    anjian4.addActionListener(new anjianAction());

    anjian5.addActionListener(new anjianAction());

    anjian6.addActionListener(new anjianAction());

    anjian7.addActionListener(new anjianAction());

    anjian8.addActionListener(new anjianAction());

    anjian9.addActionListener(new anjianAction());

    anjian10.addActionListener(new anjianAction());

    anjian11.addActionListener(new anjianAction());

    anjian12.addActionListener(new anjianAction());

    anjian13.addActionListener(new anjianAction());

    anjian14.addActionListener(new anjianAction());

    anjian15.addActionListener(new anjianAction());

    anjian16.addActionListener(new anjianAction());

    //将各个按钮添加到面板容器中

    anjianPanel.add(anjian1);

    anjianPanel.add(anjian2);

    anjianPanel.add(anjian3);

    anjianPanel.add(anjian4);

    anjianPanel.add(anjian5);

    anjianPanel.add(anjian6);

    anjianPanel.add(anjian7);

    anjianPanel.add(anjian8);

    anjianPanel.add(anjian9);

    anjianPanel.add(anjian10);

    anjianPanel.add(anjian11);

    anjianPanel.add(anjian12);

    anjianPanel.add(anjian13);

    anjianPanel.add(anjian14);

    anjianPanel.add(anjian15);

    anjianPanel.add(anjian16);

    //为文本框添加事件

    numText.addTextListener(new TextListener() {

    public void textValueChanged(TextEvent e) {

    if(numText.getText().indexOf("0",0)!=-1){

    numText.getText().replace("0","");

    }

    }

    });

    addWindowListener(new WindowAdapter() {

    public void windowClosing(WindowEvent e) {

    System.exit(0);

    }

    });

    //将文本框放置在顶部

    add(numText,BorderLayout.NORTH);

    //添加按钮

    add(anjianPanel,BorderLayout.CENTER);

    //设置文本框属性

    numText.setEditable(false);

    }

    //没有任何操作的值

    int num=0;

    //numStr是文本框的值

    String numStr=null;

    Boolean chinage=false;

    //设置按钮

    public int check(){

    numStr = numText.getText();

    if (numStr.indexOf("+") == 0) {

    numStr = numStr.replace('+', '0');

    num = num + Integer.parseInt(numStr);

    return num;

    }else

    if (numStr.indexOf("-") != -1) {

    numStr = numStr.replace("-", "0");

    num = num - Integer.parseInt(numStr);

    return num;

    }

    else

    if(numStr.indexOf("*")!=-1){

    numStr=numStr.replace('*','0');

    num = num * Integer.parseInt(numStr);

    return num;

    }

    else

    if(numStr.indexOf("/")!=-1){

    numStr=numStr.replace('/','0');

    try{

    num = num / Integer.parseInt(numStr);

    return num;

    }catch(ArithmeticException e){

    JOptionPane.showMessageDialog(null,"除数不能为空!","消息!",1);

    return num;}}

    else

    return num=Integer.parseInt(numStr);}

    //创建事件

    private class anjianAction implements ActionListener{

    public void actionPerformed(ActionEvent event){

    if(event.getActionCommand()=="0"){

    if(!numText.getText().equals("0"))

    numText.setText(numText.getText()+0);}

    if(event.getActionCommand()=="1")

    numText.setText(numText.getText()+1);

    if(event.getActionCommand()=="2")

    numText.setText(numText.getText()+2);

    if(event.getActionCommand()=="3")

    numText.setText(numText.getText()+3);

    if(event.getActionCommand()=="4")

    numText.setText(numText.getText()+4);

    if(event.getActionCommand()=="5")

    numText.setText(numText.getText()+5);

    if(event.getActionCommand()=="6")

    numText.setText(numText.getText()+6);

    if(event.getActionCommand()=="7")

    numText.setText(numText.getText()+7);

    if(event.getActionCommand()=="8")

    numText.setText(numText.getText()+8);

    if(event.getActionCommand()=="9")

    numText.setText(numText.getText()+9);

    if(event.getActionCommand()=="清空"){

    numText.setText("0");

    num=0;}

    if(event.getActionCommand()=="+"){

    //调用check();方法

    check();

    numText.setText("+");}

    if(event.getActionCommand()=="-"){

    check();

    numText.setText("-");}

    if(event.getActionCommand()=="*"){

    check();

    numText.setText("*");}

    if(event.getActionCommand()=="/"){

    if(numStr=="/0"){

    JOptionPane.showMessageDialog(null,"除数不能为空!","消息!",1);}

    check();

    numText.setText("/");}

    if(event.getActionCommand()=="="){

    check();

    numText.setText(""+num);}}}

    public static void main(String[] args){

    jisuanqi jisuanqi=new jisuanqi("计数器");

    jisuanqi.setSize(300,280);

    //设置窗口大小

    jisuanqi.setLocation(550,350);

    //设置界面属性

    jisuanqi.setVisible(true);

    }}

    如有疑问请继续追问,我将竭尽全力为您解答

    我要评论

    展开全文
  • 利用Frame设计一个简单计算器,该计算器可以实现三种常用的三角函数(sin,cos,tan)和5种常用运算(+,-,x,/,√)的功能。计算器窗口内的容量大多是按键,将这些按键全部定义为按钮,另外,还需要一个显示区,...

    利用Frame设计一个简单计算器,该计算器可以实现三种常用的三角函数(sin,cos,tan)和5种常用运算(+,-,x,/,√)的功能。计算器窗口内的容量大多是按键,将这些按键全部定义为按钮,另外,还需要一个显示区,用来表示输入的值及最后结果。

    运行结果
    简易计算器
    实现代码如下:

    
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    public class Calculator extends JFrame
    {
    	static JFrame frame=new JFrame("计算器");
    	JTextField display=new JTextField("0");
    	Font font=new Font("Consolas",Font.BOLD,40);       //设置字体样式
    	Font font1=new Font("Consolas",Font.BOLD,20);
    	actionlistener al=new actionlistener();//创建监听器action listener的对象
    	
    	//计算器按键
    	JButton button_clear=new JButton("C");
    	JButton button_delete=new JButton("backspace");
    	JButton button_plus=new JButton("+");
    	JButton button_minus=new JButton("-");
    	JButton button_multiply=new JButton("*");
    	JButton button_divide=new JButton("/");
    	JButton button_spot=new JButton(".");
    	JButton button_is=new JButton("=");
    	JButton button_sin=new JButton("sin");
    	JButton button_cos=new JButton("cos");
    	JButton button_tan=new JButton("tan");
    	JButton button_genhao=new JButton("√");
    	JButton button_bracket_r=new JButton("(");
    	JButton button_bracket_l=new JButton(")");
    	JButton[] button=new JButton[10];
    	
        public Calculator()
        {
        	super();
        	
        	//设置按钮颜色字体和监听器
    		 for (int i = 0; i < 10; i++) 
    		 {
    	         button[i] = new JButton(""+i);
    	         button[i].setBackground(Color.white);//设置按钮颜色
    	         button[i].setFont(font1);            //设置按钮字体
    	         button[i].addActionListener(al);     //注册监听器
    	     }
    			//设置按钮颜色
    			button_plus.setBackground(Color.white);
    			button_is.setBackground(Color.yellow);
    			button_minus.setBackground(Color.white);
    			button_multiply.setBackground(Color.white);
    			button_divide.setBackground(Color.white);
    			button_spot.setBackground(Color.white);
    			button_clear.setBackground(Color.white);
    			button_delete.setBackground(Color.white);
    			button_sin.setBackground(Color.green);
    			button_cos.setBackground(Color.green);
    			button_tan.setBackground(Color.green);
    			button_genhao.setBackground(Color.green);
    			button_bracket_r.setBackground(Color.white);
    			button_bracket_l.setBackground(Color.white);
    			//设置按键透明
    			button_sin.setOpaque(false);
    			button_cos.setOpaque(false);
    			button_genhao.setOpaque(false);
    			button_tan.setOpaque(false);
    			button_plus.setOpaque(false);
    			button_minus.setOpaque(false);
    			button_multiply.setOpaque(false);
    			button_divide.setOpaque(false);
    			button_spot.setOpaque(false);
    			//设置按钮字体
    			button_plus.setFont(font1);
    			button_is.setFont(font1);
    			button_minus.setFont(font1);
    			button_multiply.setFont(font1);
    			button_divide.setFont(font1);
    			button_spot.setFont(font1);
    			button_clear.setFont(font1);
    			button_delete.setFont(font1);
    			button_sin.setFont(font1);
    			button_cos.setFont(font1);
    			button_tan.setFont(font1);
    			button_genhao.setFont(font1);
    			button_bracket_r.setFont(font1);
    			button_bracket_l.setFont(font1);
        
    		//计算器界面布局
    		display.setHorizontalAlignment(JTextField.RIGHT);
    		display.setFont(font);
    		display.setBackground(Color.white);
    		display.setEditable(false);          //设置文本框不可编辑
    		
    		JPanel pan1=new JPanel();                       //设置文本框布局
    		pan1.setLayout(new GridLayout(1,1,5,5));
    		pan1.setBorder(BorderFactory.createEmptyBorder(5, 5, 0, 5));
    		pan1.add(display);
    		
    		JPanel panBody=new JPanel();                    //将按键加入panBody中
    		panBody.setLayout(new GridLayout(6,4));
    		panBody.add(button_clear);
    		panBody.add(button_delete);
    		panBody.add(button_bracket_r);
    		panBody.add(button_bracket_l);
    		panBody.add(button_sin);
    		panBody.add(button_cos);
    		panBody.add(button_tan);
    		panBody.add(button_genhao);
    		panBody.add(button[7]);
    		panBody.add(button[8]);
    		panBody.add(button[9]);
    		panBody.add(button_plus);
    		panBody.add(button[4]);
    		panBody.add(button[5]);
    		panBody.add(button[6]);
    		panBody.add(button_minus);
    		panBody.add(button[1]);
    		panBody.add(button[2]);
    		panBody.add(button[3]);
    		panBody.add(button_multiply);
    		panBody.add(button_divide);
    		panBody.add(button[0]);
    		panBody.add(button_spot);
    		panBody.add(button_is);
    		panBody.setBorder(BorderFactory.createEmptyBorder(0, 5, 5, 5));
    		
    		
    		//创建框架窗口
    		frame.setLayout(new BorderLayout());       //布局
    		frame.add(pan1,BorderLayout.NORTH);
    		frame.add(panBody,BorderLayout.CENTER);  
    		frame.setSize(580, 380);                   //大小
    		frame.setLocation(260, 150);               //位置
    		frame.setVisible(true);
    		frame.setResizable(false);
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		
    		//注册监听器
    		button_plus.addActionListener(al);
    		button_minus.addActionListener(al);
    		button_multiply.addActionListener(al);
    		button_divide.addActionListener(al);
    		button_is.addActionListener(al);
    		button_spot.addActionListener(al);
    		button_clear.addActionListener(al);
    		button_delete.addActionListener(al);
    		button_sin.addActionListener(al);
    		button_cos.addActionListener(al);
    		button_tan.addActionListener(al);
    		button_genhao.addActionListener(al);
    		button_bracket_r.addActionListener(al);
    		button_bracket_l.addActionListener(al);
    		
    	    //设置热键
    	    button[0].setMnemonic(KeyEvent.VK_NUMPAD0);
    	    button[1].setMnemonic(KeyEvent.VK_NUMPAD1);
    	    button[2].setMnemonic(KeyEvent.VK_NUMPAD2);
    	    button[3].setMnemonic(KeyEvent.VK_NUMPAD3);
    	    button[4].setMnemonic(KeyEvent.VK_NUMPAD4);
    	    button[5].setMnemonic(KeyEvent.VK_NUMPAD5);
    	    button[6].setMnemonic(KeyEvent.VK_NUMPAD6);
    	    button[7].setMnemonic(KeyEvent.VK_NUMPAD7);
    	    button[8].setMnemonic(KeyEvent.VK_NUMPAD8);
    	    button[9].setMnemonic(KeyEvent.VK_NUMPAD9);
    	    button_delete.setMnemonic(KeyEvent.VK_BACK_SPACE);
    	    button_spot.setMnemonic(KeyEvent.VK_DECIMAL);
    	    button_is.setMnemonic(KeyEvent.VK_ENTER);
    	    button_plus.setMnemonic(KeyEvent.VK_ADD);
    	    button_minus.setMnemonic(KeyEvent.VK_SUBTRACT);
    	    button_multiply.setMnemonic(KeyEvent.VK_MULTIPLY);
    	    button_divide.setMnemonic(KeyEvent.VK_DIVIDE);
    	}
        
     
        //定义处理事件的类
        public class actionlistener implements ActionListener
        {
        	RPN rpn;
        	public String pre_display="";
        	public void actionPerformed(ActionEvent e)
        	{
        		Object click1=e.getSource();             //获得组件名称
        		String click2=e.getActionCommand();      //获得组件标签
        		if(click1==button_clear)                 //初始化文本框
        		{
        			pre_display="";
        			display.setText("0");
        		}
        		else if(click1==button_delete)           //用handleClear()方法处理delete
        		{
        			if(!pre_display.equals(""))
        				display.setText(handleDelete(pre_display));
        			else
        				display.setText(handleDelete(display.getText()));
        		}
        		else if(click2=="=")
        		{
        			//计算表达式	
        			rpn=new RPN(display.getText());
        			rpn.ListPreExpressionToListExpression();
        			if(rpn.Opera_ListExpr().equals("illegal!"))
        				display.setText("illegal!");
        			else if(rpn.Opera_ListExpr().equals("non-existent!"))
        				display.setText("non-existent!");
        			else
        			{
        				double result=Double.valueOf(rpn.Opera_ListExpr()).doubleValue();
        				//数据类型转换
        				long t1=(long)result;
        				double t2=result-t1;
        				if(t2==0)
        					display.setText(String.valueOf(t1));
        				else
        					display.setText(String.valueOf(result));
        			}
        				
        			pre_display="";
        		}
        		
        		else
        		{
        			if(click2=="tan")
        				click2="tan(";
        			else if(click2=="sin")
        				click2="sin(";
        			else if(click2=="cos")
        				click2="cos(";
        			else if(click2=="√")
        				click2="√(";
        			pre_display+=click2;
        			display.setText(pre_display);
        		}
        	}
     
        	
        	//退格键
        	public String handleDelete(String text)
        	{
        		int textLength=text.length();
        		if(textLength>0)
        		{
        			text=text.substring(0, textLength-1);     //去掉最后一个字符
        			if(text.length()==0)                     //若文本框为空,则初始化为“0”
        			{
        				text="0";
        			}
        			pre_display=text;
        			return text;
        		}
        		else
        			return "illegal!";
        	}
        	
        }
        public static void main(String[] args)
        {
        	Calculator calculator=new Calculator();
        }
    }
    
    

    下面提供一种使用运算表达式的算法,使用堆栈,可以嵌入进计算器中,完成表达式的计算。

    
    import java.util.ArrayList;
    import java.util.Stack;
    import java.util.StringTokenizer;
    public class RPN 
    {
    	private Stack<String> StackOperator=new Stack<>();  //存放运算符的栈 
    	private ArrayList<String> ListPreExpression=new ArrayList<String>(); //存放原表达式
    	private ArrayList<String> ListExpression=new ArrayList<String>();   //存放逆波兰表达式
    	private Stack<String> StackOperation=new Stack<>();   //运算栈
    	
    	
    	//分割表达式(初始化)
    	public RPN (String PreExpression)
    	{
    		//以+-*/()为分割符,对原始表达式(字符串)进行分割,并返回分割符
    		StringTokenizer stringTokenizer=new StringTokenizer(PreExpression,"\\+|\\-|\\*|\\/|\\(|\\)",true);
    		while(stringTokenizer.hasMoreTokens())
    		{
    			ListPreExpression.add(stringTokenizer.nextToken());
    		}
    	}
    			
    	
    	//判断是否为运算符
    	public boolean isOperator(String str)
    	{
    		if("+-*/tancossin√()".indexOf(str)>=0)
    			return true;
    		else
    			return false;
    	}
    	
    	//获取运算符的优先级
    	public int getPriority(String str)
    	{
    		int a;
    		switch(str)
    		{
    		case "+":
    		case "-":a=1;break;
    		case "*":
    		case "/":a=2;break;
    		case "(":a=4;break;
    		case ")":a=0;break;
    		case "tan":
    		case "sin":
    		case "cos":
    		case "√":a=3;break;
    		default: a=-1;break;
    		}
    		return a;
    	}
    	
    	//比较优先级大小
    	public boolean ComparePriority(String str1,String str2)
    	{
    		return getPriority(str1)>getPriority(str2);
    	}
    	
    	//运算符入栈
    	public void OperatorToStack(String str)
    	{
    		if(StackOperator.isEmpty())           //判断栈是否为空
    			StackOperator.push(str);
    		else if("(".equals(str))              //判断传入的运算符是否为"("
    			StackOperator.push(str);
    		else if(")".equals(str))              //判断传入的运算符是否为")"
    		{
    			String string;
    			while(!"(".equals(string=StackOperator.pop())) //将"("和")"之间的操作符存放到ListExpression中
    				ListExpression.add(string);
    		}
    		else if("(".equals(StackOperator.peek()))  //若栈顶元素为(,运算符直接入栈
    			StackOperator.push(str);
    		else if(ComparePriority(str,StackOperator.peek()))//若str优先级大于栈顶元素则入栈
    			StackOperator.push(str);
    		else if(!ComparePriority(str,StackOperator.peek()))//若小于则将栈顶元素弹出,str与下一个元素比较
    		{
    			ListExpression.add(StackOperator.pop());
    			OperatorToStack(str);
    		}
    	}
    	
    	
    	//中缀表达式转换成后缀表达式
    	public void ListPreExpressionToListExpression()
    	{
    		for(String str:ListPreExpression)         //遍历ListPreExpression,运算符加入OperatorToStack,数字加入ListExpression
    		{
    			if(isOperator(str))
    				OperatorToStack(str);
    			else
    				ListExpression.add(str);
    		}
    	
    	//遍历完原始表达式后,将StackOperator栈内的运算符全部添加到ListExpression中
    		while(!StackOperator.isEmpty())
    		{
    			ListExpression.add(StackOperator.pop());
    		}
    	}
    	
    	
    	//计算方法
    	
    	//双目运算
    	public int open=0;//用于判断输入是否正确
    	public double Operation2(String str1,String str2,String str3)
    	{
    		double num1,num2;
    		num2=Double.valueOf(str1).doubleValue();
    		num1=Double.valueOf(str2).doubleValue();
    		if(str3.equals("+"))
    			return num1+num2;
    		else if(str3.equals("-"))
    			return num1-num2;
    		else if(str3.equals("*"))
    			return num1*num2;
    		else
    		{
    			if(num2==0)           //除数为零时,open=1,后面会对open=1进行输出“illegal”。
    				open=1;
    			return num1/num2;
    		}
    	}
    	
    	//单目运算
    	public double Operation1(String str1,String str2)
    	{
    		double num1;
    		num1=Double.valueOf(str1).doubleValue();
    		if(str2.equals("tan"))
    		{
    			if(num1==90)           //tan(90)不存在,open=2,其后的代码会输出“non-existent!"
    				open=2;
    			return Math.tan(Math.toRadians(num1));
    		}
    		else if(str2.equals("sin"))
    			return Math.sin(Math.toRadians(num1));
    		else if(str2.equals("cos"))
    			return Math.cos(Math.toRadians(num1));
    		else
    			return Math.sqrt(num1);
    		
    	}
    	
    	//计算逆波兰表达式
    	public String Opera_ListExpr()
    	{
    		int open2=0;         //用于判断输入是否正确
    		for(String str:ListExpression)
    		{
    			if(str.equals("(")||str.equals(")"))      //若ListExpression中含有括号,则报错
    				open2=1;
    			else if(!isOperator(str))          //把数字存放进运算栈中
    				StackOperation.push(str);
    			else if("tansincos√".indexOf(str)>=0)    //tan、sin、cos、√进行单目运算
    				StackOperation.push(String.valueOf(Operation1(StackOperation.pop(),str)));
    			else
    				//其它运算符进行双目运算
    				StackOperation.push(String.valueOf(Operation2(StackOperation.pop(),StackOperation.pop(),str)));
    		}
    		if(open==1||open2==1)
    		{
    			open=0;
    			return "illegal!";
    		}
    		else if(open==2)
    		{
    			open=0;
    			return "non-existent!";
    		}
    		else
    			return StackOperation.pop();
    	}
    }
    
    展开全文
  • java编写计算器,能实现加减乘除

    热门讨论 2010-12-24 13:56:14
    java编写计算器,能实现加减乘除。 //***该梦幻计算器与Windows附件自带计算器的标准版功能、界面相仿***// //******但还不支持键盘操作,如有需要,下一次等级将满足你**********// import java.awt.*; import ...
  • java开源包1

    千次下载 热门讨论 2013-06-28 09:14:34
    JCalendarButton是一个简单java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
  • java开源包12

    热门讨论 2013-06-28 10:14:45
    JCalendarButton是一个简单java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
  • Java资源包01

    2016-08-31 09:16:25
    JCalendarButton是一个简单java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
  • java开源包101

    2016-07-13 10:11:08
    JCalendarButton是一个简单java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
  • java开源包11

    热门讨论 2013-06-28 10:10:38
    JCalendarButton是一个简单java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
  • java开源包2

    热门讨论 2013-06-28 09:17:39
    JCalendarButton是一个简单java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
  • java开源包3

    热门讨论 2013-06-28 09:20:52
    JCalendarButton是一个简单java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
  • java开源包6

    热门讨论 2013-06-28 09:48:32
    JCalendarButton是一个简单java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
  • java开源包5

    热门讨论 2013-06-28 09:38:46
    JCalendarButton是一个简单java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
  • java开源包10

    热门讨论 2013-06-28 10:06:40
    JCalendarButton是一个简单java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
  • java开源包4

    热门讨论 2013-06-28 09:26:54
    JCalendarButton是一个简单java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
  • java开源包8

    热门讨论 2013-06-28 09:55:26
    JCalendarButton是一个简单java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
  • java开源包9

    热门讨论 2013-06-28 09:58:55
    JCalendarButton是一个简单java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
  • java开源包7

    热门讨论 2013-06-28 09:52:16
    JCalendarButton是一个简单java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Tcp服务端与客户端的JAVA实例源代码,一个简单Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
  • 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是基础的部分。...
  • 这是我的个人项目截图,是关于一个简单计算器,只有加减乘除,具体的是用java Swing编写的框架,上面是一些按钮(JButton),然后调用事件监听器,里面嵌入了一个可以四则运算的小程序。可以看到还有很多不足。 ...

    因为刚开始学这个,做的不好。这是我的个人项目截图,是关于一个简单的计算器,只有加减乘除,具体的是用java Swing编写的框架,上面是一些按钮(JButton),然后调用事件监听器,里面嵌入了一个可以四则运算的小程序。可以看到还有很多不足。

         首先,我不能算有关于括号的运算,还有就是尺寸设计的不好,也不知道为什么尺寸差一点,需要我进一步钻研。

         还有就是设计的计算器颜色太单调,外观需要有改善,当然这些还需要我进一步查找资料,学习才能解决。

         最后谈一下我的总结吧,这一次写这么一个简单的计算器,我学到了Java  Swing的一些知识,也对比了一下,用web做的界面,相比之下,感觉,如果我用web写会更加简单,而且效果会更好。但是Java  Swing我们能更多的用到我们熟悉的java知识,更容易上手。这一次编写计算器也让我懂得了很多,没有什么是不会做的,只要你愿意学,别人能做的,你一样可以做。

    转载于:https://www.cnblogs.com/tush/p/5296621.html

    展开全文
  • Java经典编程300例(code)

    千次下载 热门讨论 2013-01-09 10:26:53
    实例188 始终在桌面顶层显示窗体 261 实例189 设置窗体大小 262 实例190 根据桌面大小调整窗体大小 263 实例191 自定义最大化、最小化和 关闭按钮 265 实例192 禁止改变窗体的大小 267 实例193 指定窗体标题栏图标...
  • java范例开发大全

    2013-03-08 20:06:54
    实例59 寻找小数 82 实例60 我的位置在哪里 83 实例61 复制数组 85 实例62 插入新元素 86 实例63 数组的合并 87 实例64 去除重复元素 88 实例65 数组求和计算 90 实例66 求最大值、最小值和平均值 91 5.2 二维数组...
  • java范例开发大全源代码

    热门讨论 2011-10-30 23:31:51
     实例59 寻找小数 82  实例60 我的位置在哪里 83  实例61 复制数组 85  实例62 插入新元素 86  实例63 数组的合并 87  实例64 去除重复元素 88  实例65 数组求和计算 90  实例66 求最大值、...
  • Java范例开发大全 (源程序)

    热门讨论 2011-04-27 07:47:22
     实例59 寻找小数 82  实例60 我的位置在哪里 83  实例61 复制数组 85  实例62 插入新元素 86  实例63 数组的合并 87  实例64 去除重复元素 88  实例65 数组求和计算 90  实例66 求最大值、最小值...
  • java范例开发大全(pdf&源码)

    热门讨论 2013-07-04 13:04:40
    实例59 寻找小数 82 实例60 我的位置在哪里 83 实例61 复制数组 85 实例62 插入新元素 86 实例63 数组的合并 87 实例64 去除重复元素 88 实例65 数组求和计算 90 实例66 求最大值、最小值和平均值 91 5.2 二维数组...
  • Java范例开发大全(全书源程序)

    热门讨论 2013-04-05 11:50:26
    Java范例开发大全(全书源程序),目录如下: 第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境...
  •  《Java开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面常用的实例,是目前市场上实例全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第II卷,以开发...
  •  《Java开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面常用的实例,是目前市场上实例全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第II卷,以开发...
  •  《Java开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面常用的实例,是目前市场上实例全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第II卷,以开发...

空空如也

空空如也

1 2
收藏数 39
精华内容 15
关键字:

最简单java计算器swing编写

java 订阅