Red de conocimientos turísticos - Conocimientos sobre calendario chino - Utilice la programación SWING para editar un dispositivo de entrada de información personal

Utilice la programación SWING para editar un dispositivo de entrada de información personal

1: Análisis de diseño de un diseño de borde típico (BorderLayout). La fila superior de componentes es un JPanel. La del medio es un campo de texto/cuadro de texto.

2: Análisis de. componentes requeridos: etiqueta, cuadro de texto, cuadro combinado, botón. Se recomienda utilizar un campo de texto para implementar el cuadro de texto central, porque el campo de texto se puede mostrar en varias líneas.

Representación

¿Importar código de referencia? java.awt.*;

importar?java.awt.event.*;

importar?javax.swing.*;

public?class?JTFDemo ?extends?JFrame?implements?ActionListener{

JTextField?jtfName, jtfAge; //Cuadro de texto

JTextArea?jta; /p>

JButton? jb1;//Botón

JComboBoxlt;Stringgt;?jcb;//Cuadro combinado

final?String?NEW_LINE=System.getProperty("line .separator");//Obtener saltos de línea en este sistema

public?JTFDemo()?{

///?Componente superior

JPanel?jp? =?new?JPanel ();

JLabel?jl1?=?new?JLabel("Nombre");

jtfName?=?new?JTextField(6); p>

JLabel?jl2?=?new?JLabel("Género");

jcb?=?new?JComboBoxlt;gt;(new?String[]?{"Hombre", " Mujer"});

JLabel?jl3?=?new?JLabel("Edad");

jtfAge?=?new?JTextField(6);

jb1?= ?new?JButton("OK");

jb1.addActionListener(this);

jp.add(jl1);

jp.add(jtfName);

jp.add(jl2);

jp.add(jcb); /p>

jp.add(jtfAge);

jp.add(jb1);

add(jp, BorderLayout.NORTH); el norte de la ventana

//Componentes intermedios

JPanel?jpc?=?new?JPanel();

jta?=?new?JTextArea( 7,30);

p>

jta.setLineWrap(true); //Ajuste de línea automático

JScrollPane?jsp?=?new?JScrollPane(jta); , las barras de desplazamiento se mostrarán cuando sea necesario

jpc.add(jsp);

add(jpc, BorderLayout.CENTER); Establezca jpc en el centro de la ventana. ?

,?BorderLayout.CENTER se puede omitir

//Configuración de propiedades de la ventana

setTitle("Dispositivo de entrada de información personal" //Title

setSize( 380 ,?230); //Tamaño de la ventana

setLocationRelativeTo(null); //Centrado de la ventana

setDefaultCloseOperation(EXIT_ON_CLOSE); , salga del programa

setVisible(true); //?La ventana es visible

}

public?static?void?main(String[]? args)?{

new?JTFDemo();?//Crear ventana y mostrar

}

@Override

public? void?actionPerformed(ActionEvent?e )?{

if(e.getSource()==jb1)?{

String?name?=jtfName.getText().trim( ); //Obtener el texto del cuadro de texto y eliminar los espacios iniciales y finales

if(name.equals(""))?{

JOptionPane.showMessageDialog(this,?" ¿Lo siento? ¡El nombre no puede estar vacío! Complete su nombre ~");

return;

}

String?s_age?=?jtfAge. getText().trim();

int?age=0;

¿intentar?{

age?=?Integer.parseInt(s_age);

}catch?(¿Excepción? ex)?{

JOptionPane.showMessageDialog(this,?"¡Lo siento!? Ingrese un número entero en el cuadro de texto de edad.");

return;

}

String?info?=?name "," jcb.getSelectedItem() ", " edad;

jta. append(info NEW_LINE); //Agregar texto

//jta.setText(info); //¿Establecer texto?, que sobrescribirá el texto anterior

//reset(); ;?//¿Restablecer cuadro de texto? y otros componentes

}

}

private?void?reset()?{

jtfName.setText(""); //Restablecer el contenido a ""

jcb.setSelectedIndex(0); //Restablecer la selección del cuadro combinado al 0

jtfAge .setText("");

}

}