- 1. Clase Graphics
- 2. JButton y JLabel
- 3. JTextField
- 4. BorderLayout
- 5. JCheckBox
- 6. JRadioButton
- 7. JComboBox
- 8. JSlider
- 9. JSpinner
- 10. JToggleButton
- 11. JSeparator
- 12. JDialog
- 13. JProgressBar
- 14. JFormateddTextField
- 15. JEditorPane
- 16. JSplitPane
- 17. JTabbedPane
- 18. JDesktopPane
- 19. JToolBar
- 20. JMenubar
- 21. JTable
- 22. JTree
- 23. JFileChooser
Crea una aplicación en Java utilizando Swing que incluya un formulario para la entrada de datos de contacto de una persona. El formulario debe tener los siguientes campos con los formatos especificados usando JFormattedTextField: Nombre Completo: Campo de texto normal. Número de Teléfono: Formato "(###) ###-####" donde # es un dígito. Fecha de Nacimiento: Formato "DD/MM/AAAA". Correo Electrónico: Formato estándar de correo electrónico (e.g., "usuario@dominio.com"). Asegúrate de que los campos de número de teléfono y fecha de nacimiento solo acepten entradas válidas según el formato especificado.
package jformattedtextfield;
import java.awt.Component;
import java.awt.Font;
import java.text.ParseException;
import javax.swing.BoxLayout;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.text.MaskFormatter;
public class Ejercicio1 {
public static void main(String[] args) {
MarcoFormato miMarco = new MarcoFormato();
miMarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
miMarco.setVisible(true);
}
}
class MarcoFormato extends JFrame {
public MarcoFormato() {
// Configuración del marco
setBounds(0, 0, 500, 150);
setTitle("formato");
setResizable(false);
setLocationRelativeTo(null);
// Añadir el panel de formulario al marco
LaminaFormato miLamina = new LaminaFormato();
add(miLamina);
}
}
class LaminaFormato extends JPanel {
public LaminaFormato() {
// Panel principal con BoxLayout
JPanel principal = new JPanel();
principal.setLayout(new BoxLayout(principal, BoxLayout.Y_AXIS));
// Etiqueta y campo de texto para el Nombre Completo
JLabel etiquetaNombre = new JLabel("Nombre:");
etiquetaNombre.setFont(new Font(Font.SERIF, Font.BOLD, 14));
etiquetaNombre.setAlignmentX(Component.CENTER_ALIGNMENT);
JTextField campoNombre = new JTextField(20);
campoNombre.setFont(new Font(Font.SERIF, Font.BOLD, 14));
campoNombre.setAlignmentX(Component.CENTER_ALIGNMENT);
// Etiqueta y campo de texto formateado para el Número de Teléfono
JLabel etiquetaTelefono = new JLabel("Telefono:");
etiquetaTelefono.setFont(new Font(Font.SERIF, Font.BOLD, 14));
etiquetaTelefono.setAlignmentX(Component.CENTER_ALIGNMENT);
JFormattedTextField campoTelefono = null;
try {
MaskFormatter mascara = new MaskFormatter("(###) ###-####");
campoTelefono = new JFormattedTextField(mascara);
campoTelefono.setFont(new Font(Font.SERIF, Font.BOLD, 14));
campoTelefono.setAlignmentX(Component.CENTER_ALIGNMENT);
} catch (ParseException e) {
e.printStackTrace();
}
// Etiqueta y campo de texto formateado para la Fecha de Nacimiento
JLabel etiquetaFecha = new JLabel("Fecha:");
etiquetaFecha.setFont(new Font(Font.SERIF, Font.BOLD, 14));
etiquetaFecha.setAlignmentX(Component.CENTER_ALIGNMENT);
JFormattedTextField campoFecha = null;
try {
MaskFormatter mascaraFecha = new MaskFormatter("##/##/####");
campoFecha = new JFormattedTextField(mascaraFecha);
campoFecha.setFont(new Font(Font.SERIF, Font.BOLD, 14));
campoFecha.setAlignmentX(Component.CENTER_ALIGNMENT);
} catch (ParseException e) {
e.printStackTrace();
}
// Etiqueta y campo de texto para el Correo Electrónico
JLabel etiquetaCorreo = new JLabel("Mail:");
etiquetaCorreo.setFont(new Font(Font.SERIF, Font.BOLD, 14));
etiquetaCorreo.setAlignmentX(Component.CENTER_ALIGNMENT);
JTextField campoCorreo = new JTextField(20);
campoCorreo.setFont(new Font(Font.SERIF, Font.BOLD, 14));
campoCorreo.setAlignmentX(Component.CENTER_ALIGNMENT);
// Paneles individuales para cada campo
JPanel panelNombre = new JPanel();
JPanel panelTelefono = new JPanel();
JPanel panelFecha = new JPanel();
JPanel panelCorreo = new JPanel();
panelNombre.setLayout(new BoxLayout(panelNombre, BoxLayout.X_AXIS));
panelTelefono.setLayout(new BoxLayout(panelTelefono, BoxLayout.X_AXIS));
panelFecha.setLayout(new BoxLayout(panelFecha, BoxLayout.X_AXIS));
panelCorreo.setLayout(new BoxLayout(panelCorreo, BoxLayout.X_AXIS));
// Añadir etiquetas y campos de texto a los paneles individuales
panelNombre.add(etiquetaNombre);
panelNombre.add(campoNombre);
panelTelefono.add(etiquetaTelefono);
panelTelefono.add(campoTelefono);
panelFecha.add(etiquetaFecha);
panelFecha.add(campoFecha);
panelCorreo.add(etiquetaCorreo);
panelCorreo.add(campoCorreo);
// Añadir los paneles individuales al panel principal
principal.add(panelNombre);
principal.add(panelTelefono);
principal.add(panelFecha);
principal.add(panelCorreo);
// Añadir el panel principal al panel actual
add(principal);
}
}
Crea una aplicación en Java utilizando Swing que incluya un formulario para la entrada de información de un vehículo. El formulario debe tener los siguientes campos con los formatos especificados usando JFormattedTextField: Matrícula del Vehículo: Formato "AAA-####" donde "A" es una letra mayúscula y "#" es un dígito. Fecha de Compra: Formato "DD/MM/AAAA". Número de Identificación del Vehículo (VIN): Campo de texto normal (alfanumérico). Precio: Formato "###,###.##" donde # es un dígito y la coma (,) y el punto (.) representan separadores de miles y decimales, respectivamente. Asegúrate de que los campos de matrícula del vehículo, fecha de compra y precio solo acepten entradas válidas según el formato especificado.
package jformattedtextfield;
import java.awt.Component;
import java.awt.Font;
import java.text.ParseException;
import javax.swing.BoxLayout;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.text.MaskFormatter;
public class Ejercicio2 {
public static void main(String[] args) {
// Crear y mostrar el marco principal
MarcoMatriculacion miMarco=new MarcoMatriculacion();
miMarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
miMarco.setVisible(true);
}
}
class MarcoMatriculacion extends JFrame{
public MarcoMatriculacion() {
// Configurar el marco principal
setBounds(0,0,300,200);
setTitle("Matriculacion");
setResizable(false);
setLocationRelativeTo(null);
// Agregar la lámina de matriculación al marco
LaminaMatriculacion miLamina=new LaminaMatriculacion();
add(miLamina);
}
}
class LaminaMatriculacion extends JPanel{
public LaminaMatriculacion() {
// Crear el panel principal con un diseño de caja vertical
JPanel panelPrincipal =new JPanel();
panelPrincipal.setLayout(new BoxLayout(panelPrincipal, BoxLayout.Y_AXIS));
// Crear y configurar el panel para la matrícula
JPanel panelMatricula=new JPanel();
panelMatricula.setLayout(new BoxLayout(panelMatricula, BoxLayout.X_AXIS));
// Crear y configurar el panel para la fecha de compra
JPanel panelFecha=new JPanel();
panelFecha.setLayout(new BoxLayout(panelFecha, BoxLayout.X_AXIS));
// Crear y configurar el panel para el número de identificación del vehículo (VIN)
JPanel panelNumero=new JPanel();
panelNumero.setLayout(new BoxLayout(panelNumero, BoxLayout.X_AXIS));
// Crear y configurar el panel para el precio
JPanel panelPrecio=new JPanel();
panelPrecio.setLayout(new BoxLayout(panelPrecio, BoxLayout.X_AXIS));
// Etiqueta y campo para la matrícula
JLabel etiquetaMatricula =new JLabel("Matricula");
etiquetaMatricula.setFont(new Font(Font.SERIF,Font.BOLD,16));
etiquetaMatricula.setAlignmentX(Component.CENTER_ALIGNMENT);
JFormattedTextField campoMatricula = null;
try {
MaskFormatter mascaraMatricula = new MaskFormatter("AAA-####");
campoMatricula = new JFormattedTextField(mascaraMatricula);
campoMatricula.setFont(new Font(Font.SERIF, Font.BOLD, 16));
campoMatricula.setAlignmentX(Component.CENTER_ALIGNMENT);
} catch (ParseException e) {
e.printStackTrace();
}
// Agregar etiqueta y campo de matrícula al panel correspondiente
panelMatricula.add(etiquetaMatricula);
panelMatricula.add(campoMatricula);
// Etiqueta y campo para la fecha de compra
JLabel etiquetaFecha =new JLabel("Fecha");
etiquetaFecha.setFont(new Font(Font.SERIF,Font.BOLD,16));
etiquetaFecha.setAlignmentX(Component.CENTER_ALIGNMENT);
JFormattedTextField campoFecha = null;
try {
MaskFormatter mascaraFecha = new MaskFormatter("##/##/####");
campoFecha = new JFormattedTextField(mascaraFecha);
campoFecha.setFont(new Font(Font.SERIF, Font.BOLD, 16));
campoFecha.setAlignmentX(Component.CENTER_ALIGNMENT);
} catch (ParseException e) {
e.printStackTrace();
}
// Agregar etiqueta y campo de fecha al panel correspondiente
panelFecha.add(etiquetaFecha);
panelFecha.add(campoFecha);
// Etiqueta y campo para el número de identificación del vehículo (VIN)
JLabel etiquetaNumero =new JLabel("Numero");
etiquetaNumero.setFont(new Font(Font.SERIF,Font.BOLD,16));
etiquetaNumero.setAlignmentX(Component.CENTER_ALIGNMENT);
JTextField campoNumero=new JTextField(10);
campoNumero.setFont(new Font(Font.SERIF,Font.BOLD,16));
campoNumero.setAlignmentX(Component.CENTER_ALIGNMENT);
// Agregar etiqueta y campo de número de identificación al panel correspondiente
panelNumero.add(etiquetaNumero);
panelNumero.add(campoNumero);
// Etiqueta y campo para el precio
JLabel etiquetaPrecio =new JLabel("Precio");
etiquetaPrecio.setFont(new Font(Font.SERIF,Font.BOLD,16));
etiquetaPrecio.setAlignmentX(Component.CENTER_ALIGNMENT);
JFormattedTextField campoPrecio = null;
try {
MaskFormatter mascaraPrecio = new MaskFormatter("###,###.##");
campoPrecio = new JFormattedTextField(mascaraPrecio);
campoPrecio.setFont(new Font(Font.SERIF, Font.BOLD, 16));
campoPrecio.setAlignmentX(Component.CENTER_ALIGNMENT);
} catch (ParseException e) {
e.printStackTrace();
}
// Agregar etiqueta y campo de precio al panel correspondiente
panelPrecio.add(etiquetaPrecio);
panelPrecio.add(campoPrecio);
// Agregar los paneles al panel principal
panelPrincipal.add(panelMatricula);
panelPrincipal.add(panelFecha);
panelPrincipal.add(panelNumero);
panelPrincipal.add(panelPrecio);
// Agregar el panel principal a la lámina
add(panelPrincipal);
}
}