Solicitud: código fuente de muestra de Java
importar java.awt.event.*;
importar java.lang.*
importar javax.swing.
clase pública Counter extends Frame
{
//Declarar el diseño de los tres paneles
GridLayout gl1, gl2, gl3 <; /p>
Panel p0, p1, p2, p3;
JTextField tf1;
TextField tf2
Botón b0, b1, b2, b3; , b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26
StringBuffer str;
double x, y; //x e y son ambos operadores
int z; //Z significa que se hace clic en el operador.
0 significa " ", 1 significa "-", 2 significa "*", 3 significa "/"
static double m; // Memoriza números
public Counter()
{
gl1=nuevo GridLayout(1, 4, 10, 0);
gl1=nuevo GridLayout(1, 4, 10, 0); /p>
gl2=nuevo GridLayout(4,1,0,15);
gl3=nuevo GridLayout(4,5,10,15); new JTextField(27); //mostrar
tf1.setHorizontalAlignment(JTextField.RIGHT);
tf1.setForeground(Color. red
b1); addActionListener(new Bt());
b2=new Button("C");
b2.setForeground(Color. rojo). addActionListener(nuevo Bt());
b3=nuevo Botón("MC");
b3.red
b5.addActionListener(nuevo Bt); ());
b6=nuevo Botón("M ");
b6.setForeground(Color. rojo);
b6.addActionListener(nuevo Bt); ());
b7=nuevo Botón("7");
b7.setForeground(Color.
b7.addActionListener(nuevo Bt())
b8=nuevo Botón("8");
b8.setForeground(Color.blue
b8.addActionListener(nuevo Bt());
b9=nuevo Botón("9");
b9.setForeground(Color.blue
b9.addActionListener(nuevo Bt());
b9=nuevo Botón("9");
b9.setForeground(Color.blue);
b9.addActionListener(nuevo Bt());
b10=nuevo Botón("/");
b10.setForeground(Color.rojo
b10.addActionListener(nuevo Bt());
b11=nuevo Botón("sqrt");
b11.setForeground(Color.blue
b11.addActionListener(nuevo Bt())setForeground); (Color. azul);
b11.addActionListener(new Bt());
2=nuevo Botón("4");
b12.setForeground(Color.blue
b12.addActionListener(nuevo Bt())p>
b14=nuevo Botón("6");
b14.setForeground(Color. azul
b14.addActionListener(nuevo Bt()); >b14.setForeground(Color.blue);
b14.addActionListener(nuevo Bt());
b15=nuevo Botón("*"); >b15.setForeground(Color.rojo);
b15.addActionListener(nuevo Bt());
b16=nuevo Botón(""); b16.setForeground(Color.
b16.addActionListener(new Bt());
b17=new Button("1");
b17. setForeground (Color. azul);
b17.addActionListener(new Bt());
b18=new Button("2"); (Color.p>
b19=nuevo Botón("3");
b19.setForeground(Color.blue);
b19.addActionListener( nuevo Bt());
b18.setForeground(Color. rojo);
b20.addActionListener(new Bt());
b21=nuevo botón ( "1/X");
b21.setForeground(Color. azul);
b21.addActionListener(new Bt()); (Color.addActionListener(nuevo Bt());
b22=nuevo Botón("0");
b22.setForeground(Color.blue);
b22.setForeground( Color.rojo);
b25.addActionListener(nuevo Bt());
b26=nuevo Botón("="
< p); >b26.setForeground(Color.rojo);b26.addActionListener(nuevo Bt());
b26.setForeground( Color.rojo); b26.addActionListener(new Bt())addActionListener(new Bt());
//Crear instancias de cuatro paneles
p0
=nuevo Panel();
p1=nuevo Panel();
p2=nuevo Panel()
p3=nuevo Panel();
p>
p>
//Crea un buffer de cadena vacío
str=new StringBuffer();
/ Agrega los componentes en el Panel p0 y establece su posición y tamaño en el marco
p0.add(tf1);
p0.setBounds(60, 110, 250, 150); en el marco para vaciar el diseño y agregar 4 paneles
setLayout(null
add(p0);
add( p2); <
add(p3);
setResizable(false); //deshabilita el cambio de tamaño de marcos
//Clase anónima cierra ventanas
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e1)
{
System.exit(0
}
});
setBackground(Color.lightGray
setBounds (100, 100, 320, 280); );
setVisible(true);
}
//Construyendo una clase de oyente
Bt implementa ActionListener
{ p>
acción nula pública realizada (ActionEvent e2)
{
prueba{
if(e2.getSource()== b1)//elija "CE" para borrar
{
tf1.setText("0"); // Borrar la pantalla a cero
{
Tf1.setText("0"); // Borrar la pantalla a cero
Tf1.setText("0"); // Borrar la pantalla a cero
str.setLength(0) ; // Borra el búfer de cadena y prepárate para recibir nuevas operaciones de entrada
}
else
else if(e2. getSource()= =b2)//Seleccione "C" para poner a cero
{
tf1.setText("0"); //Para poner a cero la pantalla
tf1.setText("0"); p>
str.setLength(0);
}
else if(e2.getSource()==b23)// Haga clic en " /-
"Para elegir si el operando de entrada es un número positivo o negativo
{
x=Double.parseDouble (tf1.getText().trim());
tf1 .setText("" (-x));
}
else if(e2.getSource()==b25)// Haga clic en el botón más para obtener x y valor z, y borre el valor de y
{
x=Double.parseDouble(tf1.getText().trim()); .setLength( 0); // Borrar el buffer para recibir otro operador nuevo
y=0d
z=0
}
<; p>else if(e2.getSource()==b20)//Haga clic en el botón menos para obtener los valores de x y z, y borre el valor de y{
x =Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d; >z= 1;
}
else if(e2.getSource()==b15)//Haga clic en el botón multiplicar para obtener el valor x y el valor z, y borre el valor y
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0); p>
y =0d;
z=2;
}
si no(e2.getSource()==b10)//clic en el botón dividir para obtener el valor de x y el valor de z y vaciar el valor de y
{
x=Double.parseDouble(tf1.getText( ).trim())
str.setLength(0);
y=0d
z=3; }
else if(e2. getSource()==b26)//haga clic en el botón igual para generar el cálculo
{
str.setLength(0
switch(z)
{
caso 0: tf1.
caso 0: tf1.setText("" (); x y));
caso 1: tf1.setText("" (x-y));
caso 2: tf1.setText("" (x*y)); ); romper;
caso 2 p>
caso 3: tf1.setText("" (x/y)); >}
else if(e2 .getSource()==b24)//Haga clic en el botón "." para ingresar el decimal
{
if( tf1.getText().trim().indexO
f(′. ′)! =-1) // Determinar si la cadena contiene un punto decimal
{
}
else//si no contiene un punto decimal p>
{
if(tf1.getText().trim().equals("0"))//si la visualización comienza con 0
{ p>
str .setLength(0);
tf1.setText((str.append("0" e2.getActionCommand()).toString());
}
else if(tf1.getText(). trim().equals(""))//no hacer nada si la pantalla inicial está vacía
{
}
else
{
tf1.setText(str.append(e2.getActionCommand()). toString()
;} p>
}
y=0d;
}
si no(e2.getSource() == b11) // Encuentra la raíz cuadrada p>
{
x=Double.parseDouble(tf1.getText().trim());
tf1.setText(" Excepción de formato de número");
p>
if(xlt;0)
tf1.setText("Excepción de formato de número");
x =Double.parseDouble(tf1.getText().trim());
tf1.setText("No.setText("Los números negativos no tienen raíces cuadradas");
else
tf1.setText("" Math.sqrt (x));
str.setLength(0
y=0d;
}
else if(e2. getSource()==b16)//hizo clic en el botón ""
{
x=Double. (tf1.getText().trim());
tf1.setText("" (0.01*x));
str.setLength(0);
y=0d;
}
else if(e2.getSource()==b16)//hizo clic en el botón ""
{
x=Doble.
else if(e2. getSource()==b21)//hizo clic en el botón "1/X"
{
x=Double.parseDouble(tf1.getText(). trim()
if(x==0)
{
tf1.setText("El divisor no puede ser 0");
}
else
{
t
f1.setText("" (1/x));
}
str.setLength(0);
y=0d;
}
else if (e2.getSource()==b3)//MC está borrando la memoria
{
m=0d; p>
m=0d;
p>tf2.setText("");
str.setLength(0); p>
else if(e2.getSource () ==b4)//MR es una recuperación de los datos almacenados
{
if(tf2.getText() .trim()! = """)// con Memorizar números
{
tf1.setText("" m);
}
}
}
else if(e2.getSource()==b5)//MS está almacenando los datos mostrados
{ p>
m=Double. parseDouble(tf1. getText().trim());
tf2.setText("M"); 0");
str. setLength(0);
}
else if(e2.getSource()==b5)//MS está almacenando los datos mostrados
{ p>
m=Double.
else if(e2 .getSource()==b6)//M se usa para agregar los datos mostrados número a los datos almacenados Para ver el nuevo número, haga clic en MR
{
m=m Double.parseDouble(tf1.getText().trim()); p>
}
else//El botón seleccionado es otro botón
{
if(e2.getSource()==b22)// Si se selecciona la tecla numérica "0"
{
if(tf1.getText().trim().equals("0"))// Si muestra 0, no hacer nada.
{
}
else
{
tf1.setText(str.append(e2.getActionCommand ()).toString());
y=Double.parseDouble( tf1.getText().trim()
}
}
}
else if(e2.getSource()==b0)//El botón "Retroceso" está seleccionado
{
if(!tf1.getText().trim().equals("0"))//Si la pantalla muestra algo distinto de cero
{
if(str.length ()! =1)
{
tf1.setText(str.delete(str.length()-1, str.length()).toString());/ /puede generar una excepción de cadena fuera de límites
}
else.
else
{
tf1.setText("0");
str.setLength(0
}
}
}
}
y=Double.parseDouble(tf1.getText().trim());
}
else// otras claves numéricas
{
tf1.setText(str.append(e2.getActionCommand()).toString());
y=Double.parseDouble(tf1. getText().trim());
}
}
}
}
catch( NumberFormatException e){
tf1.setText("Excepción de formato de número"
}
catch(NumberFormatException e){
tf1.setText("Excepción de formato de número").
}
catch( /p>
{
nuevo contador()
}
}