Implementación de Formulario en Java Swing con Conexión JDBC a Base de Datos

Informática3,96 KB

Implementación de Formulario en Java Swing con Conexión JDBC

El siguiente programa implementa una interfaz gráfica de usuario (GUI) interactiva con la biblioteca Java Swing y gestiona la persistencia de datos en una base de datos relacional mediante la API JDBC.

Código Fuente

package multiplespantallas;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;

public class Insertar extends JFrame {
    private JLabel lbl1, lbl2, lbl3;
    private JTextField txt1, txt2, txt3;
    private JPanel pnl1, pnl2;
    private JButton btninsertar, btncancelar;

    public Insertar() {
        lbl1 = new JLabel("Código");
        lbl2 = new JLabel("Nombre");
        lbl3 = new JLabel("N° horas");
        txt1 = new JTextField(10);
        txt2 = new JTextField(10);
        txt3 = new JTextField(10);
        btninsertar = new JButton("Insertar");
        btncancelar = new JButton("Cancelar");
        pnl1 = new JPanel();
        pnl2 = new JPanel();
        pnl1.setLayout(new GridLayout(3, 2));
        pnl1.add(lbl1);
        pnl1.add(txt1);
        pnl1.add(lbl2);
        pnl1.add(txt2);
        pnl1.add(lbl3);
        pnl1.add(txt3);
        pnl2.setLayout(new FlowLayout());
        pnl2.add(btninsertar);
        pnl2.add(btncancelar);
        setLayout(new FlowLayout());
        add(pnl1);
        add(pnl2);
        setSize(300, 300);
        setVisible(true);
        btninsertar.addActionListener(new Manejador());
        btncancelar.addActionListener(new Manejador());
    }

    public static void main(String[] args) {
        Insertar a = new Insertar();
        a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    private class Manejador implements ActionListener {
        public void actionPerformed(ActionEvent z) {
            if (z.getSource() == btninsertar) {
                try {
                    String sql = "insert into asignatura values (" + txt1.getText() + ",'" + txt2.getText() + "'," + txt3.getText() + ")";
                    Connection cnn = null;
                    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                    cnn = DriverManager.getConnection("jdbc:odbc:Multipantallas", "admin", "aqi1975");
                    JOptionPane.showMessageDialog(null, "Conexión creada");
                    Statement str = cnn.createStatement();
                    int i = str.executeUpdate(sql);
                    if (i > 0) {
                        JOptionPane.showMessageDialog(null, "Se insertó un elemento");
                    } else {
                        JOptionPane.showMessageDialog(null, "No se insertó el elemento");
                    }
                    cnn.close();
                } catch (ClassNotFoundException ex) {
                    JOptionPane.showMessageDialog(null, "Excepción: " + ex.getMessage());
                } catch (Exception e) {
                    JOptionPane.showMessageDialog(null, "Excepción: " + e.getMessage());
                }
            }
            if (z.getSource() == btncancelar) {
                txt1.setText("");
                txt2.setText("");
                txt3.setText("");
            }
        }
    }
}

Descripción de Componentes

  • JFrame: Contenedor principal que aloja los elementos gráficos de la ventana.
  • Layouts (GridLayout y FlowLayout): Organizan la distribución espacial de las etiquetas, campos de texto y botones.
  • JTextField y JLabel: Permiten etiquetar y capturar información del usuario (código, nombre y horas de la asignatura).
  • ActionListener: Manejador de eventos que detecta las pulsaciones sobre los botones Insertar y Cancelar.
  • JDBC (Java Database Connectivity): Gestiona la conexión mediante el controlador ODBC y ejecuta la sentencia SQL INSERT en la base de datos.

Descargar

PDF Word HTML