一个简单的计算器
Ext.define('Calc.view.Main', { extend:'Ext.form.Panel', fullscreen:true,
config: {
items: [
{
layout:'vbox',
style:'background-color:blue',
flex:1,
items:[
{
xtype:'textareafield',
name:'display',
style:'border:5px inset blue',
id:'display',
value:"0"
}
]
},
{
layout:'hbox',
style:'background-color:#cccccc',
flex:1,
items :[
{
xtype:'button',
text:'1',
style:'border:5px inset blue',
flex:1,
ui:'confirm',
handler: function() {
var num=Ext.getCmp('display').getValue();
if(num==0) {
Ext.getCmp('display').setValue("1");
}
else
{
num=num+"1";
Ext.getCmp('display').setValue(num);
}
console.log(num);
}
},
{
xtype:'button',
text:'2',
flex:1,
style:'border:5px inset blue',
ui:'confirm',
handler: function() {
console.log("print 2");
var num=Ext.getCmp('display').getValue();
if(num==0) {
Ext.getCmp('display').setValue("2");
}
else
{
num=num+"2";
Ext.getCmp('display').setValue(num);
}
console.log(num);
/*Ext.getCmp('display').setValue("2");
var num=Ext.getCmp('display').getValue();
num=num*10+1;
Ext.getCmp('display').setValue(num);
console.log(num);*/
}
},
{
xtype:'button',
text:'3',
style:'border:5px inset blue',
flex:1,
ui:'confirm',
handler: function() {
console.log("print 3");
var num=Ext.getCmp('display').getValue();
if(num==0) {
Ext.getCmp('display').setValue("3");
}
else
{
num=num+"3";
Ext.getCmp('display').setValue(num);
}
console.log(num);
}
}
]
},
{
layout:'hbox',
style:'background-color:#909090',
flex:1,
items:[
{
xtype:'button',
text:'4',
style:'border:5px inset blue',
flex:1,
ui:'confirm',
handler: function() {
console.log("print 4");
var num=Ext.getCmp('display').getValue();
if(num==0) {
Ext.getCmp('display').setValue("4");
}
else
{
num=num+"4";
Ext.getCmp('display').setValue(num);
console.log(num);
}
}
},
{
xtype:'button',
text:'5',
flex:1,
style:'border:5px inset blue',
ui:'confirm',
handler: function() {
console.log("print 5");
var num=Ext.getCmp('display').getValue();
if(num==0) {
Ext.getCmp('display').setValue("5");
}
else
{
num=num+"5";
Ext.getCmp('display').setValue(num);
}
console.log(num);
}
},
{
xtype:'button',
text:'6',
flex:1,
style:'border:5px inset blue',
ui:'confirm',
handler: function() {
console.log("print 6");
var num=Ext.getCmp('display').getValue();
if(num==0) {
Ext.getCmp('display').setValue("6");
}
else
{
num=num+"6";
Ext.getCmp('display').setValue(num);
}
console.log(num);
}
}
]
},
{
layout:'hbox',
style:'background-color:#A0A0A0',
flex:1,
items:[
{
xtype:'button',
text:'7',
style:'border:5px inset blue',
flex:1,
ui:'confirm',
handler: function() {
console.log("print 7");
var num=Ext.getCmp('display').getValue();
if(num==0) {
Ext.getCmp('display').setValue("7");
}
else
{
num=num+"7";
Ext.getCmp('display').setValue(num);
}
console.log(num);
}
},
{
xtype:'button',
text:'8',
style:'border:5px inset blue',
flex:1,
ui:'confirm',
handler: function() {
console.log("print 8");
var num=Ext.getCmp('display').getValue();
if(num==0) {
Ext.getCmp('display').setValue("8");
}
else
{
num=num+"8";
Ext.getCmp('display').setValue(num);
console.log(num);
}
}
},
{
xtype:'button',
text:'9',
style:'border:5px inset blue',
flex:1,
ui:'confirm',
handler: function() {
console.log("print 9");
var num=Ext.getCmp('display').getValue();
if(num==0) {
Ext.getCmp('display').setValue("9");
}
else
{
num=num+"9";
Ext.getCmp('display').setValue(num);
}
console.log(num);
}
}
]
},
{
layout:'hbox',
style:'background-color:#808080',
flex:1,
items: [
{
xtype:'button',
text:'+',
style:'border:5px inset blue',
flex:1,
ui:'confirm',
handler: function() {
var num = new Array();
num=Ext.getCmp('display').getValue();
var len=num.length;
console.log(len);
var sub=num.substr(len-1,len);
console.log(sub);
if(sub!= "+" && sub!="-" && sub!="*" &&sub!="/")
{
num=num+"+";
Ext.getCmp('display').setValue(num);
}
console.log("print +");
}
},
{
xtype:'button',
text:'0',
flex:1,
style:'border:5px inset blue',
ui:'confirm',
handler: function() {
console.log("print 0");
var num=Ext.getCmp('display').getValue();
if(num==0) {
num=num+"0";
Ext.getCmp('display').setValue(num);
}
else
{
num=num+"0";
Ext.getCmp('display').setValue(num);
console.log(num);
}
}
},
{
xtype:'button',
text:'=',
flex:1,
style:'border:5px inset blue',
ui:'confirm',
handler: function() {
console.log("print =");
var exp=new Array();
exp=Ext.getCmp('display').getValue();
var len=exp.length;
var sub=exp.substr(len-1,len);
console.log(sub);
if(sub!= "+" && sub!="-" && sub!="*" && sub!="/")
{
console.log(eval(exp));
Ext.getCmp('display').setValue(eval(exp));
}
}
}
]
},
{
layout:'hbox',
style:'background-color:#2FAA96',
flex:1,
items: [
{
xtype:'button',
text:'-',
flex:1,
style:'border:5px inset blue',
ui:'confirm',
handler: function() {
console.log("print -");
var num = new Array()
num=Ext.getCmp('display').getValue();
var len=num.length;
var sub=num.substr(len-1,len);
if(sub!= "+" && sub!="-" && sub!="*" &&sub!="/")
{
num=num+"-";
Ext.getCmp('display').setValue(num);
console.log("print -");
}
}
},
{
xtype:'button',
text:'*',
style:'border:5px inset blue',
flex:1,
ui:'confirm',
handler: function() {
console.log("print *");
var num = new Array()
num=Ext.getCmp('display').getValue();
var len=num.length;
var sub=num.substr(len-1,len);
if(sub!= "+" && sub!="-" && sub!="*" &&sub!="/")
{
num=num+"*";
Ext.getCmp('display').setValue(num);
console.log("print *");
}
}
},
{
xtype:'button',
text:'/',
style:'border:5px inset blue',
flex:1,
ui:'confirm',
handler: function() {
console.log("print /");
var num = new Array()
num=Ext.getCmp('display').getValue();
var len=num.length;
var sub=num.substr(len-1,len);
if(sub!= "+" && sub!="-" && sub!="*" &&sub!="/")
{
num=num+"/";
Ext.getCmp('display').setValue(num);
console.log("print /");
}
}
},
]
},
{
layout:'hbox',
flex:8,
style:'background-color:red',
items: [
{
xtype:'button',
text:'clear',
style:'border:5px inset blue',
flex:1,
ui:'small',
handler: function() {
var cl=Ext.getCmp('display').getValue();
cl="";
Ext.getCmp('display').setValue(cl);
}
},
{
xtype:'button',
text:'cancel',
flex:2,
ui:'back',
handler:function() {
var no= new Array();
no=Ext.getCmp('display').getValue();
var len=no.length;
var sub=no.slice(0,len-1)
console.log(sub);
Ext.getCmp('display').setValue(sub);
}
}
]
}
]
}
});