Red de conocimiento informático - Conocimiento del nombre de dominio - Interfaz gráfica de usuario java

Interfaz gráfica de usuario java

muestra de paquete;

importar java.awt.*;

importar java.awt.event.*;

importar java.util.regex.pattern;

Importar javax.swing.*;

El marco de extensión ATMSHAM de clase pública implementa ActionListener{

Marco JFrame privado;

JPanel privado jp1, jp2, jp3, jp4

Contraseña privada de JTextField;

Iniciar, seleccionar, cancelar, guardar y salir de JButton privado;

JLabel JL 1 privado;

Private double m = 0; //Establece el monto inicial

ATMSHAM público(){

Frame = new JFrame("Interfaz de cajero automático simulada");

frame.setLocation(280, 280);

contenedor c = frame. getcontentpane();

JL 1 = new JLabel("contraseña:");

contraseña = new JPasswordField(18); //Resultados de salida

//Configuración de fuente

Jl1.setFont(new font("天", font. negrita, 20));

Contraseña.setFont(nueva fuente("ì", font.

Negrita, 20));

start = new JButton(" start ");

start . consultar saldo");

seleccione . addactionlistener(this);

cancelar = new JButton(" end ");

cancelar . addactionlistener(this);

save = new JButton(" depositar ");

save addactionlistener(this);

Out = new JButton("Retirar");

p>

out . addactionlistener(this);

select set enable(false);

save set enable(false); . set enable(false);

jp 1 = new JPanel(); //Panel principal

jp2 = new JPanel() //Panel de entrada de contraseña

jp3 = new JPanel(); //Panel de botones

jp4 = new JPanel(); //Panel de botones

//Diseño del formulario

jp2 . establecer diseño (nuevo FlowLayout());

jp2 . (nuevo FlowLayout());

jp3.add(inicio);

jp3.add(seleccionar);

jp3.add(cancelar); /p>

jp4.add(save);

jp4 .add(out);

jp 1. establecer diseño (nuevo GridLayout(3, 1)); /p>

jp 1 . agregar(jp2);

jp 1 . >c .add(jp 1);

marco .pack();

marco visible(verdadero);

marco setresizable. ;

contraseña . requestfocusinwindow(); //Ingrese el cuadro de texto para obtener el foco

}

//Clase de escucha del botón

Se ha realizado una operación pública no válida (evento de operación e)

{

String s =

If(e.getSource()==start){// Ir.

s = contraseña.getText(). toString();//Obtener contraseña

if(s.quals(" "){//No se ingresó contraseña.

Joptionpane. Mostrar cuadro de diálogo de mensaje (vacío, "Puedes no tiene Ingrese la contraseña, vuelva a ingresar"); // Aparece un cuadro emergente de mensaje.

contraseña . requestfocusinwindow(); //La entrada de contraseña establece el foco

}

Else if(mode.matches ("[0-9] {6} $ ",s))//Ingresaste un número de seis dígitos.

{

contraseña configurada habilitada (falsa); //La verificación de la contraseña es correcta. No puede volver a ingresar su contraseña.

select .set enable(true); //Si la contraseña se verifica correctamente, se puede consultar el saldo.

save .set enable(true); //La verificación de la contraseña es correcta y puedes ahorrar dinero.

out .set enable(true); //La verificación de la contraseña es correcta y puedes retirar dinero.

}

De lo contrario//No ingresaste seis dígitos. Por favor vuelva a ingresar su contraseña.

{

Panel de opciones. Mostrar cuadro de diálogo de mensaje (vacío, "El formato de la contraseña que ingresó es incorrecto, vuelva a ingresar");

contraseña . (); //Enfoque de configuración de entrada de contraseña

}

}

//Ver saldo

else if(e.getSource( )== seleccionar){

Panel de opciones. Mostrar cuadro de diálogo de mensaje (vacío, "Aún tienes "m" yuanes");

}

//Salir

else if(e.getSource( )==cancelar){

dispose();

sistema salir(0);

}

//Depositar<. /p>

else if(e.getSource()==save){

Resultado de cadena = panel de opciones. ShowinputDialog (null, "Ingrese el monto del depósito");

if (resultado == null)

Devolver;

else if(result.equals( " ")

Panel de opciones. Mostrar cuadro de diálogo de mensaje (vacío, "No ingresó el monto, vuelva a ingresar el monto a depositar");

De lo contrario, si (Patrón. coincidencias( "^[0-9] $", resultado)||pattern.matches("^[0-9] \\. [0-9] $ ", resultado))

{

doble re = Double.parseDouble(resultado);

m = re;

}

Otros

{

Panel de opciones. Mostrar cuadro de diálogo de mensaje (vacío, "El formato del monto que ingresó es incorrecto, vuelva a ingresar");

}

}

//Retirar dinero

else if(e.getSource()==out){

Resultado de cadena = panel de opciones Showinputdialog (nulo, " Ingrese el monto del retiro"); //Abre un cuadro de entrada y obtenga el valor de entrada.

If(result == null)//Haga clic en el botón cancelar del cuadro de diálogo de entrada.

Devolver;

else if(resultado. Igual(" ")//No se ingresó ninguna cantidad.

Panel de opciones. Mostrar cuadro de diálogo de mensaje (vacío, "No se ingresó el monto, vuelva a ingresar el monto a retirar");

Else if(pattern.match("[0-9] $ ",resultado)||pattern.match("[0 -9] \. [0-9] $ ", resultado))//La entrada no está vacía y es correcta.

{

double re = Double.parseDouble(resultado) ;

Si (m lt= 0)//No hay un monto ideal

Mostrar cuadro de diálogo (vacío, "No tienes monto para retirar, deposita el monto" ) ;

else if(m-re lt; 0) //Hay una cantidad disponible, pero la cantidad es insuficiente

Mostrar cuadro de diálogo de mensaje (nulo, "Tú. solo tiene "m". "Yuan, la cantidad es insuficiente");

else if(m-re gt;=0)//La cantidad es suficiente.

m- = re;

}

Else//La entrada no está vacía pero es incorrecta

{

Mostrar cuadro de diálogo de mensaje (. vacío, "La cantidad que ingresó tiene un formato." Error, vuelva a ingresar");

}

}

/*Cerrar evento de ventana* /

frame . addwindowlistener(new window adaptor(){

Cierre de ventana vacía pública (WindowEvent e)

{

dispose( );

sistema . salir( 0);

}

});

}

público static void main(String Args[]){//entrada del método principal

System.out.println("El programa comienza...");

nuevos cajeros automáticos ham();

}

}