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