Red de conocimientos turísticos - Información de alquiler - 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.*;

la clase pública ATMSHAM extiende Frame 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;

private JLabel jl1;

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

public ATMSHAM(){

frame = new JFrame("Simular automático interfaz de máquina de retiro");

frame.setLocation(280, 280);

Contenedor c = frame.getContentPane();

jl1 = new JLabel( " Contraseña: ");

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

//Configuración de fuente

jl1.setFont(new Font( " "宋体", Font.BOLD, 20));

contraseña.setFont(nueva fuente("宋体", Font.BOLD, 20));

inicio = nuevo JButton (" Inicio");

start.addActionListener(this);

select = new JButton("Query Balance");

select.addActionListener(this

cancelar = new JButton("Fin");

cancel.addActionListener(this);

guardar = new JButton("Depositar");

p>

save.addActionListener(this);

out = new JButton("Withdraw");

out.addActionListener(this);

select.setEnabled(false);

save.setEnabled(false);

out.setEnabled(false);

jp1 = 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.setLayout(new FlowLayout());

jp2.add(jl1);

jp2.add(contraseña);

jp3.setLayout(nuevo FlowLayout()); p>jp3.add(inicio);

jp3.add(seleccionar);

jp3.add(cancelar);

jp4.add(guardar) ;

jp4.add(out);

jp1.setLayout(new GridLayout(3,1));

jp1.add(jp2);

jp1.add(jp3);

jp1.add(jp4);

c.add(jp1); pack();

frame.setVisible(true);

frame.setResizable(false);

password.requestFocusInWindow(); //Cuadro de texto de entrada Obtener enfoque

}

//Clase de escucha de botones

public void actionPerformed(ActionEvent e)

{

String s = "";

if(e.getSource()==start){//Inicio

s = contraseña.getText().toString(); Obtenga la contraseña

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

JOptionPane.showMessageDialog(null, "No ingresó la contraseña, vuelva a ingresar enter") ;//Aparece un cuadro de mensaje

contraseña.requestFocusInWindow();//Establece el foco para la entrada de contraseña

}

else if (Pattern.matches(" ^[0-9]{6} $", s))//La entrada es un número de seis dígitos

{

contraseña.setEnabled( false); //La verificación de la contraseña es correcta, ya no se puede ingresar la contraseña

select.setEnabled(true); //La contraseña se verifica correctamente y se puede verificar el saldo

save.setEnabled(true); //La contraseña está verificada correctamente y se puede realizar el depósito

out.setEnabled(true); //La contraseña está verificada correctamente y puede retirar dinero

}

else//La entrada no es un número de seis dígitos, vuelva a ingresar la contraseña

{

JOptionPane.showMessageDialog (nulo, "El formato de la contraseña que ingresó es incorrecto, vuelva a ingresar");

contraseña.setText("") ;

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

p>

}

}

//Ver saldo

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

JOptionPane.showMessageDialog(null, "Aún tienes " m "yuanes"

}

//Salir

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

disponer();

System.exit(0);

}

// Depósito

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

String result = JOptionPane.showInputDialog(null, "Ingrese el monto del depósito");

if(resultado == null)

return;

else if(result.equals(""))

JOptionPane.showMessageDialog(null, " No ingresó el monto, intente nuevamente ingresar el monto a depositar");

else if(Pattern.matches("^[0-9] $", resultado)||Pattern. coincidencias ("^[0-9] \\. [0-9] $", resultado))

{

double re = Double.parseDouble(resultado);

m =re;

}

else

{

JOptionPane.showMessageDialog(null, "La cantidad que ingresado El formato es incorrecto, por favor vuelva a ingresar");

}

}

//Retirar dinero

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

String result = JOptionPane.showInputDialog(null, "Ingrese el valor del monto del retiro"); //Abre un cuadro de entrada y obtiene el valor de entrada

p>

if (resultado == null)//Hiciste clic en el botón cancelar del cuadro de diálogo de entrada

return;

else if(result.equals("")) //No se ingresó ningún monto

JOptionPane.showMessageDialog(null, "No ingresó el monto, intente nuevamente ingresar el monto a retirar"

else if(Pattern) .matches("^[0-9] $", resultado)||Pattern.matches("^[0-9] \\. [

0-9] $", resultado))//La entrada no está vacía y la entrada es correcta

{

double re = Double.parseDouble(result);

if(m lt; = 0)//No hay monto disponible

JOptionPane.showMessageDialog(null, "No tienes monto disponible, por favor deposita el monto");

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

JOptionPane.showMessageDialog(null, "Solo tienes "m" yuanes, pero la cantidad es insuficiente" );

else if(m-regt;=0)//La cantidad es suficiente

m-=re;

}

else//La entrada no está vacía pero no es correcta

{

JOptionPane.showMessageDialog(null, "El formato del monto que ingresó es incorrecto, vuelva a ingresarlo"

}

}

/*Cerrar evento de ventana*/

frame.addWindowListener(new WindowAdapter(){

public void WindowClosing(WindowEvent e)

{

dispose();

System.exit(0);

}

});

p>

}

public static void main(String args []){//Entrada del método principal

System.out.println("El programa se inicia...");

new ATMSHAM();

}

}