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); p >
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(){); p>
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();
}
}