Programación suave verde
Importar javax.swing.*;
Importar Java.awt.event.*;
Importar Java.awt.*;
La clase pública Calculator extiende JFrame para implementar ActionListener
{
/////////Menu
JMenuBar mb
JMenu mEdit, mFind, mHelp
JMenuItem mEditCopy, mEditPaste
JMenuItem mFindStandarded, mFindScience, mFindGroup
JMenuItem mHelpTopic, mHelpAbout
JPanel pan ;
/////////Botón
JTextField tf
JButton peronull
JButton peroRetroceso, peroCE, peroC;
JBotón peroMC, peroMR, peroMS, peroM;
JBotón pero1, pero2, pero3, pero4, pero5, pero6, pero7, pero8, pero9, pero0
JButton peroChu, peroSqrt, peroCheng, peroYu, peroJian, pero1x, peroDot, peroJia, peroEqual, peroJJ
Calculadora()
{
MB = nueva JMenuBar ( );
MEdit = nuevo JMenu(" editar(e)");
medit set mnemonic(' E ');
MFind = nuevo JMenu. (" Ver(f)");
mfind . set mnemonic(' F ');
MHelp = new JMenu(" ayuda(h)");
mfind . set mnemonic(' H ');
MEditCopy = new JMenuItem(" copiar(c)");
medit copy . ;
medit pegar = new JMenuItem(" pegar(p)");
medit copiar set mnemonic(' P ');
MFindStandarded = nuevo. JMenuItem(" estándar(t)");
mfindstandarded . set mnemonic(' T ');
MFindScience = new JMenuItem(" científico(s)");
p>
mfindscience . set mnemonic(' S ');
MFindGroup =new JMenuItem("Grupo de números (I)"); Mnemonic(' I ');
MHelpTopic =new JMenuItem("Tema de ayuda (h)");
mhelptopic . p> MHelpAbout =new JMenuItem("Acerca de nosotros (a)");
mhelpabout .
onic(' A ');
///////////////////Agregue el comienzo del componente mb.
MB . agregar(mEdit);
MB agregar(mFind); . agregar(copiar meditar);
medir . agregar(pegar meditar);
mfind .
mfind . add(mFindGroup);
mhelp add(mHelpTopic);
mhelpabout); ////Fin
/////////////////////////* *Botón Crear computadora* * *///// // //////
Color rojo = nuevo color (250, 0, 0
Color verde = nuevo color (0, 127, 0); p>
peronull =new JButton("?);
peronull.setForeground(rojo);
pero nulo . addactionlistener(this);
butBackspace = new JButton(" retroceso ");
butBackspace.setForeground(verde);
butCE = new JButton(" CE ");
butCE .setForeground (verde);
butC = new JButton(" C ");
butc addactionlistener(this);
butC.setForeground(rojo) ;
peroMC = nuevo JButton(" MC ");
peroMC.setForeground(verde);
pero MR = nuevo JButton(" MR ");
peroMC.setForeground(verde);
peroMC = new JButton(" MR ");
p>
peroMR.setForeground(verde);
butMS = new JButton(" MS ");
butMS.setForeground(verde);
butM = new JButton(" M+"); p>
peroM.setForeground(verde);
peroChu = new JButton("/");
pero Chu addactionlistener(este);
butChu.setForeground(rojo);
pero cheng = new JButton(" * ");
pero cheng . addactionlistener( this);
peroCheng. setForeground(rojo);
pero Jian = new JButton("-");
pero Jian addactionlistener(this);
peroJian.setForeground(rojo. );
pero Jia = new JButton("+");
pero Jia . addactionlistener(this);
peroJia.setForeground(rojo);
pero igual = nuevo
JButton(" = ");
pero igual .addactionlistener(this);
butEqual.setForeground(rojo);
Color azul = nuevo color( 0 , 0, 250);
butSqrt = new JButton(" sqrt ");
butSqrt.setForeground(verde);
butYu = new JButton( " % ");
peroYu.setForeground(verde);
Pero 1x = nuevo JButton(" 1/x ");
pero1x.setForeground( verde );
butDot =new JButton(" . ");
butDot.setForeground(azul);
butdot . >
butJJ = new JButton("+/-");
butJJ.setForeground(azul);
butjj addactionlistener(this);
but1.addActionListener(this);
but1.setForeground(blue);
pero 2 = nuevo JButton(" 2 ");
pero 2. addactionlistener(this);
pero2.setForeground(azul);
pero 3 = nuevo JButton( " 3 ");
pero 3. addactionlistener(this);
but3.setForeground(blue
pero 4 = nuevo JButton(" 4 ");
pero 4. addactionlistener(this);
but4.setForeground(blue);
pero 5 = nuevo JButton (" 5 "); /p>
pero 5. addactionlistener(this);
but5.setForeground(blue);
pero 6 = new JButton(" 6 ");
but6.addActionListener(this);
but6.setForeground(blue);
pero 7 = nuevo JButton(" 7 ");
but7 .addActionListener(this);
but7.setForeground(blue);
pero 8 = nuevo JButton(" 8 ");
p>
but8.addActionListener(this);
but8.setForeground(blue);
pero 9 = nuevo JButton(" 9 ");
but9.addActionListener( this);
pero9.setForeground(blue);
pero 0 = nuevo JButton(" 0 ");
pero 0. addactionlistener(th
es);
but0.setForeground(blue);/////////////////////End
pan =nuevo JPanel (vacío); //Crea el panel más grande
TF = new JTextField(" 0 "); //Ingresa el cuadro de visualización
tf.setBounds(5, 0, 337, 25 ); //Establece el tamaño y la posición del cuadro de visualización
TF . set background(color . white
TF sehorizontal junction(JTextField. Right); la configuración del cuadro de entrada a la derecha.
TF . set editable(false);
JPanel pa = new JPanel(new BorderLayout()); //Panel para todos los botones
pa.setBounds (5, 35, 340, 240);
JPanel PP = nuevo JPanel(nuevo panel BorderLayout()); aa = new JPanel(new BorderLayout()); //Todos los botones restantes del panel;
JPanel p = new JPanel(new GridLayout(4, 1)); Los paneles Ms, M+, la parte media y norte de las pp son nulos.
JPanel a = new JPanel(new GridLayout(1, 3)); //Retroceso, ce, panel de c, al norte de aa
JPanel a2 = new JPanel(new GridLayout) (4, 5)); //El resto de la botonera, aa.
pa.add(pp, BorderLayout. West);
pa.add(aa, BorderLayout. Center);
pp.add(butnull, BorderLayout); . Norte);
pp.add(p, BorderLayout. Center);
p .add(peroMC);
p .add(a, BorderLayout. Norte .
aa.add(a2,BorderLayout.
centro);
a .add(butBackspace);
a .add(butCE); p>a2 . agregar(pero 7);
a2 . agregar(pero 8); agregar(pero 9); (pero Chu);
a2 . agregar(peroSqrt);
a2 . agregar(pero 4); /p>
a2 . agregar(pero 6);
a2 . agregar(peroCheng); . agregar(pero 1);
a2 . agregar(pero 2);
a2 . );
a2 . agregar(pero 1x);
a2 . agregar(pero 0);
a2 . agregar(pero punto);
a2 . agregar(pero Jia);
a2 . add(pan);
pan . add(TF);
pan .
This.setTitle("Mi calculadora" );
this . setjmenubar(MB);
this.setBounds(200, 300, 353, 330); //Establece el tamaño de la ventana
this . (falso);
este conjunto visible(verdadero);
}
Public static void main(String args[])
{
Prueba
{
UIManager.setLookAndFeel(
ui manager . getsystemlookandfeelclassname());
}
catch(excepción ex)
{
ex . printstacktrace();
}
. New Calculator();
}
//////////////////* * * *Las siguientes son las configuraciones y operaciones de monitoreo * * * * * *//////////////////.
Boolean b = true; //El valor inicial se establece en verdadero, sin símbolos aritméticos de puntos.
String Fuhao = " "; //Guarda el símbolo de la última operación y úsalo para la operación del último resultado.
String lastCommand =//Guarda el símbolo de la última operación antes de presionar el signo igual.
double lastValue = 0.0//Guarda el valor del último cuadro de entrada del signo igual.
Valor doble = 0.0; //Valor original, al hacer clic en el operador, calcula el valor anterior.
Doble bendición = 0.0;
Acción de anulación pública realizada (actioneventclick)//////////// Configuración de monitoreo de comportamiento.
{
if(click.getSource()==butJJ)
{
fuzhi = double . parse double(TF . gettext());
if(tf.getText().equals("0")||tf.getText().equals("0."))
{
Booleano b = verdadero;
Cadena fuhao = " ";
valor doble = 0.0;
TF ");
}
else if(fuzhi & lt; 0)
{
TF . settext((- fuzhi) +" ");
}
Otros
{
TF settext("-"+TF . gettext( )) ;
}
}
if(click.getSource()==butnull)
{
Tf.setText("Esta calculadora pertenece a Qingruan Training - Hu Xun - escrita el 65438 de junio + 8 de octubre de 2008"); =peroC)
{
TF . settext(" 0 "
últimoComando =
últimoValor = 0.0
b = verdadero;
Fu Hao = " ";
Valor = 0.0;
}
si(haga clic. getsource()= = pero 1)
{
If (b == false)
{
TF settext(" 1 ");
b = verdadero;
}
si no(tf.getText().equals(" 0 " ))
{
TF . settext(" 1 ");
}
Otros
{
TF . settext(TF . gettext()+1
}
}
if(click.getSource() ==pero2) p>
{
if (b == falso)
{
TF settext(" 2 "); >b = verdadero;
}
si no (tf.getText(). igual a (" 0 "))
{
TF . settext(" 2 ");
}
Otros
{
TF . settext(TF . gettext()+2);
}
}
si ( click.getSource()==but3)
{
if (b == false)
{
TF . ( " 3 ");
b = verdadero;
}
si no (tf.getText().
igual a (" 0 "))
{
TF . settext(" 3 ");
}
Otros
{
TF . settext(TF . gettext()+3);
}
}
si ( click.getSource()==but4)
{
if (b == false)
{
TF . ( " 4 ");
b = verdadero
}
si no (tf.getText().Equals(" 0 ")) p >
{
TF .settext(" 4 ");
}
Otros
{
TF . settext(TF . gettext()+4);
}
}
if(click.getSource()==but5)
{
Si (b = = falso)
{
TF settext(" 5 "
;b = verdadero;
}
else if(tf.getText().Equals(" 0 "))
{
TF . settext(" 5 ");
}
Otros
{
TF . ( )+5);
}
}
if(click.getSource()==but6)
{ p >
Si (b == falso)
{
TF . >
}
else if(tf.getText().Equals(" 0 "))
{
TF settext(" 6 ". ) ;
}
Otros
{
TF . settext(TF . gettext()+6);
}
}
if(click.getSource()==but7)
{
if(b == falso )
{
TF . settext(" 7 "
b = verdadero
}
else si(tf.getText(). igual a (" 0 "))
{
TF . settext(" 7 ");
}
Otros
{
TF . settext(TF . gettext()+7);
}
}
si ( click.getSource()==but8)
{
if (b == false)
{
TF . ( " 8 ");
b = verdadero;
}
si no (tf.getText().
igual a (" 0 "))
{
TF . settext(" 8 ");
}
Otros
{
TF . settext(TF . gettext()+8);
}
}
si ( click.getSource()==but9)
{
if (b == false)
{
TF . ( " 9 ");
b = verdadero
}
si no (tf.getText().Equals(" 0 ")) p >
{
TF .settext(" 9 ");
}
Otros
{
TF . settext(TF . gettext()+9);
}
}
if(click.getSource()==but0)
{
Si (b == falso)
{
TF .
b = verdadero;
}
else if(tf.getText().Equals(" 0 "))
{
TF . settext(" 0 ");
}
Otros
{
TF settext(TF . gettext. ( )+0);
}
}
if(click.getSource()==butDot)
{ p >
//////////código/////////////////////////////////// ///// ////////////////////////////////////////////// //////// /////////////////////////////////////////// /////////// //////?
int izhi = entero . parse int(TF . gettext());
doble dzhi = double . parse double(TF . gettext()); >if(tf.getText().Equals(" 0 "))
{
tf.setText("0.);
} p>
Otro
{
if(tf.getText().Equals("0."))
{
tf.setText("0.
);
}
Otros
{
if(dzhi & gt; 0)
{
izhi = izhi
dzhi = dzhi
if(dzhi==izhi)
{
tf. setText(tf.getText()+",");
}
}
Otros
{
izhi =-izhi;
dzhi =-dzhi;
if(dzhi==izhi)
{
tf. setText(tf.getText()+",");
}
}
}
}
}
if(haga clic en . getsource()= = pero Jia)//////////////////////////// // ////////////////////+"
{
if(tf.getText().
Igual a (" 0 "))
{
}
else if(Fu Hao== " ")
{< / p>
doble tfvaluejia
tfvaluejia = double . parse double(TF . gettext());
valor = tfvaluejia
TF . " +valor);
b =false;
Fu Hao= "+";
}
si no (Fu Hao = ="* ")
{
doble tfvalueCheng
tfvalueCheng = double . parse double(TF . gettext());
valor = valor * tfvalueCheng
TF settext("+valor);
b = false;
}
si no. ( Fu Hao=="/")
{
doble tfvalueChu
tfvalueChu = double . parse double(TF . gettext());
valor = valor/tfvalueChu;
TF settext("+valor);
b = false;
}
else if(Fu Hao=="-")
{
doble tfvaluejian
tfvaluejian = double . parse double(TF . gettext()) ;
valor = valor-tfvaluejian;
TF settext("+valor);
b = false;
}<. /p>
p>
else if(Fu Hao=="= ")
{
doble tfvaluejia
tfvaluejia = doble. parse double(TF . gettext ());
valor = tfvaluejia
b =false;
}
Otro
{
doble tfvaluejia
tfvaluejia = double . parse double(TF . gettext()); //2
valor = valor+tfvaluejia ;
TF . settext("+valor);
b = false;
}
último valor = double . parse double (TF . gettext() );
Fu Hao = "+"
último comando = "+"
}
si(haga clic en . getsource ()= = peroCheng)/////////////////////////////////////// ///////// ////////* "
{
if(tf.getText().
Igual a (" 0 "))
{
}
else if(Fu Hao== " ")
{< / p>
doble tfvalueCheng
tfvalueCheng = double . parse double(TF . gettext());
valor = tfvalueCheng
TF . " +valor);
b = false;
Fu Hao = " * ";
}
si no (Fu Hao = ="+")
{
doble tfvaluejia
tfvaluejia = double . parse double(TF . gettext());
valor = valor+tfvaluejia;
TF settext("+valor);
b = false;
}
else. if (Fu Hao=="/")
{
double tfvalueChu
tfvalueChu = double . parse double(TF . gettext()); p >
valor = valor/tfvalueChu;
TF settext("+valor);
b = false;
}
.else if(Fu Hao=="-")
{
doble tfvaluejian
tfvaluejian = double . parse double(TF . gettext() ) ;
valor = valor-tfvaluejian;
TF settext("+valor);
b = false;
}
else if(Fu Hao=="= ")
{
doble tfvalueCheng
tfvalueCheng = double parse double(TF). . gettext());
valor = tfvalueCheng
b =false;
}
Otro
{
doble tfvalueCheng
tfvalueCheng = double . parse double(TF . gettext());
valor = valor * tfvalueCheng
TF .settext("+valor);
b = false;
}
último valor = double . parse double(TF . gettext());
Fu Hao = " * ";
lastCommand = " *
}
if(haga clic en . getsource()= = pero Chu )////////////////////////////////////////////////"
{
if(tf.getText().
Igual a (" 0 "))
{
}
else if(Fu Hao== " ")
{< / p>
doble tfvalueChu
tfvalueChu = double . parse double(TF . gettext());
valor = tfvalueChu
TF . " +valor);
b =false;
Fu Hao= "/";
}
si no (Fu Hao = ="+")
{
doble tfvaluejia
tfvaluejia = double . parse double(TF . gettext());
valor = valor+tfvaluejia;
TF settext("+valor);
b = false;
}
else. if (Fu Hao=="* ")
{
doble tfvalueCheng
tfvalueCheng = double parse double(TF . gettext()); p >
valor = valor * tfvalueCheng
TF settext("+valor);
b = false;
}
<. p >else if(Fu Hao=="-"){
doble tfvaluejian
tfvaluejian = double . parse double(TF . gettext()) ;
valor = valor-tfvaluejian;
TF settext("+valor);
b = false;
}<. /p>
p>
else if(Fu Hao=="= ")
{
doble tfvalueCheng
tfvalueCheng = doble. parse double(TF . gettext ());
valor = tfvalueCheng
b =False;
}
Otro
{
doble tfvalueChu
tfvalueChu = double . parse double(TF . gettext());
valor = valor/tfvalueChu; p>
TF .settext("+valor);
b = false;
}
último valor = double . parse double(TF . gettext());
Fu Hao = "/";
último comando = "/"
}
if( haga clic en getsource()= = pero Jian)/////////////////////////////////////////. ///////// /////////---
{
if(tf.getText().
Igual a (" 0 "))
{
}
else if(Fu Hao== " ")
{< / p>
doble tfvaluejian
tfvaluejian = double . parse double(TF . gettext());
valor = tfvaluejian
TF . " +valor);
b =false;
Fu Hao= "/";
}
si no (Fu Hao = ="+")
{
doble tfvaluejia
tfvaluejia = double . parse double(TF . gettext());
valor = valor+tfvaluejia;
TF settext("+valor);
b = false;
}
else. if (Fu Hao=="* ")
{
doble tfvalueCheng
tfvalueCheng = double parse double(TF . gettext()); p >
valor = valor * tfvalueCheng
TF settext("+valor);
b = false;
}
<. p >else if(Fu Hao=="/"){
doble tfvalueChu
tfvalueChu = double . parse double(TF . gettext()) ;
valor = valor/tfvalueChu;
TF .settext("+valor);
b = falso;
}<. /p>
p>
else if(Fu Hao=="= ")
{
doble tfvalueCheng
tfvalueCheng = doble. parse double(TF . gettext ());
valor = tfvalueCheng
b =False;
}
Otro
{
doble tfvaluejian
tfvaluejian = double . parse double(TF . gettext());
valor = valor-tfvaluejian; p>
TF .settext("+valor);
b = false;
}
último valor = double . parse double(TF . gettext());
Fu Hao = "-";
último comando = "-"
}
if( haga clic en getsource()= = pero igual)///////////////////////////////////////// = "
{
if(tf.getText().
Igual a (" 0 "))
{
}
Si (Fu Hao=="+")
{< / p>
doble tfvaluejia
tfvaluejia = double . parse double(TF . gettext());
valor = valor+tfvaluejia;
TF settext("+valor);
b =false;
}
else if(Fu Hao=="* ")
<. p >{doble tfvalueCheng
tfvalueCheng = double . parse double(TF . gettext());
valor = valor * tfvalueCheng
TF . settext("+valor);
b =false;
}
si no(Fu Hao=="/") p >
{
doble tfvalueChu
tfvalueChu = double . parse double(TF . gettext());
valor = valor/tfvalueChu;
p>TF . settext("+valor);
b =false;
}
else if(Fu Hao== "-" )
{
doble tfvaluejian
tfvaluejian = double . parse double(TF . gettext());
valor = valor- tfvaluejian;
TF settext("+valor);
b = false;
}
else if(. Fu Hao= ="= ")
{
if(lastCommand=="+")
{
valor = valor +último valor ;
TF . settext("+valor);
b = false;
}
else if(últimocomando ==" -")
{
valor = valor-último valor;
TF settext("+valor);
}
if(lastCommand=="* ")
{
valor = valor * últimoValor
TF . settext("+valor);
b = false;
}
if(lastCommand=="/"
{
valor = valor/último valor;
TF . settext("+valor);
b = falso; p>
}
}
Fu Hao = " = "
}
}
}