Professional Documents
Culture Documents
Informe de La Biblioteca
Informe de La Biblioteca
Informe de La Biblioteca
package com.mycompany.vistas;
import java.awt.Color;
/**
* @author yelbi
*/
public Principal() {
initComponents();
InitStyles();
title.setForeground(Color.black);
jLabel2.putClientProperty("FlatLaf.styleClass", "large");
jLabel2.setForeground(Color.black);
jLabel3.putClientProperty("FlatLaf.styleClass", "large");
jLabel3.setForeground(Color.black);
jLabel4.putClientProperty("FlatLaf.styleClass", "large");
jLabel4.setForeground(Color.black);
jLabel5.putClientProperty("FlatLaf.styleClass", "large");
jLabel5.setForeground(Color.black);
jLabel6.putClientProperty("FlatLaf.styleClass", "large");
jLabel6.setForeground(Color.black);
jLabel7.putClientProperty("FlatLaf.styleClass", "large");
jLabel7.setForeground(Color.black);
jLabel8.putClientProperty("FlatLaf.styleClass", "large");
jLabel8.setForeground(Color.black);
jLabel9.putClientProperty("FlatLaf.styleClass", "large");
jLabel9.setForeground(Color.black);
jLabel10.putClientProperty("FlatLaf.styleClass", "large");
jLabel10.setForeground(Color.black);
jLabel11.putClientProperty("FlatLaf.styleClass", "large");
jLabel11.setForeground(Color.black);
@SuppressWarnings("unchecked")
bg = new javax.swing.JPanel();
image.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
image.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Logo-
UNEFA.png"))); // NOI18N
title.setText("Sea bienvenido.");
jLabel3.setToolTipText("");
jLabel6.setText("• Préstamos");
jLabel7.setText("• Devoluciones");
bg.setLayout(bgLayout);
bgLayout.setHorizontalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(title, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(jLabel6, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(jLabel7, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(jLabel8, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jLabel11, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel10, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel9, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(bgLayout.createSequentialGroup()
.addContainerGap()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
bgLayout.setVerticalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addComponent(image, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(bgLayout.createSequentialGroup()
.addGroup(bgLayout.createSequentialGroup()
.addComponent(jLabel6, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(jLabel11, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(jLabel9, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(jLabel7, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(jLabel8, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(0, 0, 0))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
}// </editor-fold>
Login:
package com.mycompany.login;
import com.mycompany.base.*;
import com.mycompany.vistas.Principal;
import com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterIJTheme;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.KeyEvent;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
/**
* @author yelbi
*/
public Login() {
initComponents();
InitStyles();
SetDate();
InitContent();
this.setTitle("Iniciar sesión");
mensaje.setForeground(Color.black);
navText.setForeground(Color.white);
dateText.setForeground(Color.white);
appName.setForeground(Color.white);
ShowJPanel(new Principal());
p.setSize(750, 430);
p.setLocation(0,0);
content.removeAll();
content.add(p, BorderLayout.CENTER);
content.revalidate();
content.repaint();
@SuppressWarnings("unchecked")
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setIconImages(getIconImages());
appName.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
appName.setText("Inicio de sesión");
btn_prin.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Inicio de
sesión.png"))); // NOI18N
btn_prin.setText("Ingresar");
btn_prin.setBorderPainted(false);
btn_prin.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
btn_prin.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
btn_prin.setIconTextGap(13);
btn_prin.setInheritsPopupMenu(true);
btn_prin.addActionListener(new java.awt.event.ActionListener() {
btn_prinActionPerformed(evt);
});
titleLbl.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
titleLbl.setText("Usuario:");
titleLbl.setToolTipText("");
titleLbl1.setText("Contraseña:");
txtUsuario.addActionListener(new java.awt.event.ActionListener() {
txtUsuarioActionPerformed(evt);
});
txtContraseña.addKeyListener(new java.awt.event.KeyAdapter() {
txtContraseñaKeyPressed(evt);
txtContraseñaKeyReleased(evt);
});
menu.setLayout(menuLayout);
menuLayout.setHorizontalGroup(
menuLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(btn_prin, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addGroup(menuLayout.createSequentialGroup()
.addGroup(menuLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addGroup(menuLayout.createSequentialGroup()
.addGroup(menuLayout.createSequentialGroup()
.addContainerGap()
.addGroup(menuLayout.createSequentialGroup()
.addContainerGap()
.addComponent(titleLbl))
.addGroup(menuLayout.createSequentialGroup()
.addContainerGap()
.addComponent(titleLbl1))
.addGroup(menuLayout.createSequentialGroup()
.addContainerGap()
.addContainerGap(10, Short.MAX_VALUE))
);
menuLayout.setVerticalGroup(
menuLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(menuLayout.createSequentialGroup()
.addGap(4, 4, 4)
);
header.setLayout(headerLayout);
headerLayout.setHorizontalGroup(
headerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(headerLayout.createSequentialGroup()
.addGroup(headerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING, false)
.addComponent(navText, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(dateText, javax.swing.GroupLayout.DEFAULT_SIZE, 434,
Short.MAX_VALUE))
.addContainerGap(260, Short.MAX_VALUE))
);
headerLayout.setVerticalGroup(
headerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(headerLayout.createSequentialGroup()
.addContainerGap(31, Short.MAX_VALUE))
);
content.setLayout(new java.awt.BorderLayout());
mensaje.setText("Bienvenido!");
background.setLayout(backgroundLayout);
backgroundLayout.setHorizontalGroup(
backgroundLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(backgroundLayout.createSequentialGroup()
.addComponent(menu, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(backgroundLayout.createParallelGroup(javax.swing.GroupLayout.Alignme
nt.LEADING)
.addGroup(backgroundLayout.createSequentialGroup()
.addGroup(backgroundLayout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(content, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
);
backgroundLayout.setVerticalGroup(
backgroundLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(menu, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(backgroundLayout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(header, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(1, 1, 1)
.addComponent(content, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(background, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(background, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
setLocationRelativeTo(null);
}// </editor-fold>
IniciarSesion();
if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
IniciarSesion();
this.dispose();
JOptionPane.INFORMATION_MESSAGE);
Inicio.setVisible(true);
} else {
txtUsuario.setText("");
txtContraseña.setText("");
txtUsuario.requestFocus();
FlatMaterialLighterIJTheme.setup();
new Login().setVisible(true);
});
esto es para que entremos al sistema de pedidos de libros con su usuario y contraseña
menú:
package com.mycompany.base;
import com.mycompany.vistas.Prestamos;
import com.mycompany.vistas.Devoluciones;
import com.mycompany.vistas.Usuarios;
import com.mycompany.vistas.Principal;
import com.mycompany.vistas.Reportes;
import com.mycompany.vistas.Libros;
import com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterIJTheme;
import java.awt.BorderLayout;
import java.awt.Color;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
import javax.swing.JPanel;
/**
* @author yelbi
*/
public Menu() {
initComponents();
InitStyles();
SetDate();
InitContent();
this.setTitle("Biblioteca");
mensaje.setForeground(Color.black);
navText.setForeground(Color.white);
dateText.putClientProperty("FlatLaf.style", "font: 24 $light.font");
dateText.setForeground(Color.white);
appName.setForeground(Color.white);
ShowJPanel(new Principal());
p.setSize(750, 430);
p.setLocation(0,0);
content.removeAll();
content.add(p, BorderLayout.CENTER);
content.revalidate();
content.repaint();
@SuppressWarnings("unchecked")
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
appName.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
appName.setText("Biblioteca");
btn_prin.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Logo-
Principal.png"))); // NOI18N
btn_prin.setText("Principal");
btn_prin.setBorderPainted(false);
btn_prin.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
btn_prin.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
btn_prin.setIconTextGap(13);
btn_prin.setInheritsPopupMenu(true);
btn_prin.addActionListener(new java.awt.event.ActionListener() {
btn_prinActionPerformed(evt);
});
btn_lends.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Logo-
Préstamos.png"))); // NOI18N
btn_lends.setText("Préstamos");
btn_lends.setBorderPainted(false);
btn_lends.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
btn_lends.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
btn_lends.setIconTextGap(13);
btn_lends.setInheritsPopupMenu(true);
btn_lends.addActionListener(new java.awt.event.ActionListener() {
btn_lendsActionPerformed(evt);
});
btn_returns.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Logo-
Devoluciones.png"))); // NOI18N
btn_returns.setText("Devoluciones");
btn_returns.setBorderPainted(false);
btn_returns.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
btn_returns.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
btn_returns.setIconTextGap(13);
btn_returns.setInheritsPopupMenu(true);
btn_returns.addActionListener(new java.awt.event.ActionListener() {
btn_returnsActionPerformed(evt);
});
btn_users.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Logo-
Usuarios.png"))); // NOI18N
btn_users.setText("Usuarios");
btn_users.setBorder(javax.swing.BorderFactory.createMatteBorder(1, 13, 1, 1, new
java.awt.Color(0, 0, 0)));
btn_users.setBorderPainted(false);
btn_users.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
btn_users.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
btn_users.setIconTextGap(13);
btn_users.setInheritsPopupMenu(true);
btn_users.addActionListener(new java.awt.event.ActionListener() {
btn_usersActionPerformed(evt);
});
btn_books.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Logo-
Libros.png"))); // NOI18N
btn_books.setText("Libros");
btn_books.setBorderPainted(false);
btn_books.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
btn_books.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
btn_books.setIconTextGap(13);
btn_books.setInheritsPopupMenu(true);
btn_books.addActionListener(new java.awt.event.ActionListener() {
btn_booksActionPerformed(evt);
});
btn_reports.setBackground(new java.awt.Color(204, 0, 51));
btn_reports.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Logo-
Reportes.png"))); // NOI18N
btn_reports.setText("Reportes");
btn_reports.setBorderPainted(false);
btn_reports.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
btn_reports.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
btn_reports.setIconTextGap(13);
btn_reports.setInheritsPopupMenu(true);
btn_reports.addActionListener(new java.awt.event.ActionListener() {
btn_reportsActionPerformed(evt);
});
menu.setLayout(menuLayout);
menuLayout.setHorizontalGroup(
menuLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(menuLayout.createSequentialGroup()
.addGroup(menuLayout.createSequentialGroup()
.addComponent(btn_lends, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btn_users, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btn_prin, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btn_books, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btn_reports, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
menuLayout.setVerticalGroup(
menuLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(menuLayout.createSequentialGroup()
.addGap(4, 4, 4)
.addGroup(menuLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addGroup(menuLayout.createSequentialGroup()
.addGroup(menuLayout.createSequentialGroup()
.addGroup(menuLayout.createSequentialGroup()
.addGroup(menuLayout.createSequentialGroup()
.addGroup(menuLayout.createSequentialGroup()
);
header.setLayout(headerLayout);
headerLayout.setHorizontalGroup(
headerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(headerLayout.createSequentialGroup()
.addGroup(headerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING, false)
.addComponent(navText, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
headerLayout.setVerticalGroup(
headerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(headerLayout.createSequentialGroup()
.addContainerGap(31, Short.MAX_VALUE))
);
content.setLayout(new java.awt.BorderLayout());
mensaje.setText("UNEFA");
background.setLayout(backgroundLayout);
backgroundLayout.setHorizontalGroup(
backgroundLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(backgroundLayout.createSequentialGroup()
.addComponent(menu, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(backgroundLayout.createParallelGroup(javax.swing.GroupLayout.Alignme
nt.LEADING)
.addGroup(backgroundLayout.createSequentialGroup()
.addComponent(content, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
);
backgroundLayout.setVerticalGroup(
backgroundLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(menu, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(backgroundLayout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(header, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0)
.addComponent(content, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(1, 1, 1))
);
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(background, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(background, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
setLocationRelativeTo(null);
}// </editor-fold>
ShowJPanel(new Principal());
ShowJPanel(new Prestamos());
ShowJPanel(new Devoluciones());
ShowJPanel(new Usuarios());
ShowJPanel(new Libros());
ShowJPanel(new Reportes());
java.awt.EventQueue.invokeLater(new Runnable() {
new Menu().setVisible(true);
});
al entrar con el login encontramos el menú donde encontramos los pedidos, entrega y reporte
de los libros
AgLibro:
package com.mycompany.vistas;
import com.mycompany.base.DAOLibrosImpl;
import com.mycompany.utiles.Utiles;
import java.awt.Color;
import com.mycompany.interfaces.DAOLibros;
com.mycompany.modelo.Libros bookEdition;
public AgLibros() {
initComponents();
InitStyles();
initComponents();
isEdition = true;
bookEdition = book;
InitStyles();
title.putClientProperty("FlatLaf.styleClass", "h1");
title.setForeground(Color.black);
if (isEdition) {
title.setText("Editar Libro");
button.setText("Guardar");
if (bookEdition != null) {
titleTxt.setText(bookEdition.getTitle());
dateTxt.setText(bookEdition.getDate());
authorTxt.setText(bookEdition.getAuthor());
catTxt.setText(bookEdition.getCategory());
edTxt.setText(bookEdition.getEdit());
langTxt.setText(bookEdition.getLang());
pagsTxt.setText(bookEdition.getPages());
descTxt.setText(bookEdition.getDescription());
stockTxt.setText(bookEdition.getStock() + "");
dispTxt.setText(bookEdition.getAvailable() + "");
ejemTxt.setText(bookEdition.getEjemplares());
}
@SuppressWarnings("unchecked")
bg = new javax.swing.JPanel();
titleLbl.setText("Título");
dateLbl.setText("Fecha de Publicación");
authorLbl.setText("Autor");
catLbl.setText("Categoría");
edLbl.setText("Edición");
jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);
langLbl.setText("Idioma");
langTxt.setToolTipText("");
pagsLbl.setText("Páginas");
pagsTxt.setToolTipText("");
descLbl.setText("Descripción");
descTxt.setToolTipText("");
stockLbl.setText("Stock");
stockLbl.setToolTipText("");
stockTxt.setToolTipText("");
dispTxt.setToolTipText("");
dispLbl.setText("Disponibles");
ejemLbl.setText("Ejemplares");
ejemTxt.setToolTipText("");
button.setText("Agregar");
button.setBorderPainted(false);
button.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
button.addActionListener(new java.awt.event.ActionListener() {
buttonActionPerformed(evt);
});
bg.setLayout(bgLayout);
bgLayout.setHorizontalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addContainerGap()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addGroup(bgLayout.createSequentialGroup()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(catTxt)
.addComponent(authorTxt)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(authorLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(catLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(titleLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(titleTxt)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(dateLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(dateTxt)
.addComponent(edTxt, javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(edLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(langTxt)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(langLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(pagsTxt)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(pagsLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(button, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(descLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(descTxt)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
bgLayout.createSequentialGroup()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignmen
t.LEADING)
.addComponent(stockTxt)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(stockLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignmen
t.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(dispLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(dispTxt)))
.addGroup(bgLayout.createSequentialGroup()
.addComponent(ejemLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(ejemTxt))
.addGroup(bgLayout.createSequentialGroup()
.addComponent(title, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
bgLayout.setVerticalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addContainerGap()
.addComponent(title, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(langLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(pagsLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(pagsTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 30,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(descLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(stockLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(dispLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addGap(9, 9, 9)
.addComponent(ejemLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(titleLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(dateLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(authorLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(catLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(edLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
}// </editor-fold>
String ed = edTxt.getText();
titleTxt.requestFocus();
return;
titleTxt.requestFocus();
return;
book.setTitle(mtitle);
book.setDate(date);
book.setAuthor(author);
book.setCategory(cat);
book.setEdit(ed);
book.setLang(lang);
book.setPages(pags);
book.setDescription(desc);
book.setEjemplares(ejem);
book.setStock(Integer.parseInt(stock));
book.setAvailable(Integer.parseInt(disp));
try {
if (!isEdition) {
dao.registrar(book);
} else {
dao.modificar(book);
if (!isEdition) {
titleTxt.setText("");
dateTxt.setText("");
authorTxt.setText("");
catTxt.setText("");
edTxt.setText("");
langTxt.setText("");
pagsTxt.setText("");
descTxt.setText("");
stockTxt.setText("");
dispTxt.setText("");
ejemTxt.setText("");
} catch (Exception e) {
System.out.println(e.getMessage());
aquí Podemos agregar los libros que podemos tener en el sistema con su autor, edición,
cantidad, titulo, fecha de lanzamiento, stock, entre otras cosas
AgUsuario:
package com.mycompany.vistas;
import com.mycompany.base.DAOUsuariosImpl;
import java.awt.Color;
import com.mycompany.interfaces.DAOUsuarios;
com.mycompany.modelo.Usuarios userEdition;
public AgUsuarios() {
initComponents();
InitStyles();
initComponents();
isEdition = true;
userEdition = user;
InitStyles();
title.putClientProperty("FlatLaf.styleClass", "h1");
title.setForeground(Color.black);
if (isEdition) {
title.setText("Editar Usuario");
button.setText("Guardar");
if (userEdition != null) {
nameTxt.setText(userEdition.getName());
apPTxt.setText(userEdition.getLast_name_p());
apMTxt.setText(userEdition.getLast_name_m());
domTxt.setText(userEdition.getDomicilio());
phoneTxt.setText(userEdition.getTel());
@SuppressWarnings("unchecked")
bg = new javax.swing.JPanel();
nameLbl.setText("Nombre");
apPLbl.setText("Apellido Paterno");
apMLbl.setText("Apellido Materno");
jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);
domLbl.setText("Domicilio");
domTxt.setToolTipText("");
button.setText("Registrar");
button.setBorderPainted(false);
button.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
button.addActionListener(new java.awt.event.ActionListener() {
buttonActionPerformed(evt);
});
phoneLbl.setText("Teléfono");
phoneTxt.setToolTipText("");
bg.setLayout(bgLayout);
bgLayout.setHorizontalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addContainerGap()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addGroup(bgLayout.createSequentialGroup()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(nameLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(nameTxt)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(apPLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(apPTxt)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(apMLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(apMTxt))
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(domTxt)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(domLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(phoneTxt)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(phoneLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(button, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(bgLayout.createSequentialGroup()
.addComponent(title, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
bgLayout.setVerticalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addContainerGap()
.addComponent(title, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addGroup(bgLayout.createSequentialGroup()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(nameLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(apPLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGap(6, 6, 6))
.addGroup(bgLayout.createSequentialGroup()
.addComponent(domLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(phoneLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
}// </editor-fold>
nameTxt.requestFocus();
return;
}
user.setName(nombre);
user.setLast_name_p(apP);
user.setLast_name_m(apM);
user.setDomicilio(dom);
user.setTel(tel);
try {
if (!isEdition) {
dao.registrar(user);
} else {
dao.modificar(user);
if (!isEdition) {
nameTxt.setText("");
apPTxt.setText("");
apMTxt.setText("");
domTxt.setText("");
phoneTxt.setText("");
} catch (Exception e) {
String errorMsg = isEdition ? "modificar" : "registrar";
System.out.println(e.getMessage());
Aquí podemos agregar los usuarios que van a pedir los libros y se le toman los datos del
usuario como el nombre, apellido, dirección y teléfono
Devoluciones:
package com.mycompany.vistas;
import com.mycompany.base.DAOLibrosImpl;
import com.mycompany.base.DAOPrestamosImpl;
import com.mycompany.base.DAOUsuariosImpl;
import com.mycompany.utiles.Utiles;
import java.awt.Color;
import java.util.Date;
import com.mycompany.interfaces.DAOLibros;
import com.mycompany.interfaces.DAOPrestamos;
import com.mycompany.interfaces.DAOUsuarios;
public Devoluciones() {
initComponents();
InitStyles();
title.setForeground(Color.black);
folioLbl.putClientProperty("FlatLaf.styleClass", "large");
folioLbl.setForeground(Color.black);
libroIdLbl.putClientProperty("FlatLaf.styleClass", "large");
libroIdLbl.setForeground(Color.black);
}
@SuppressWarnings("unchecked")
bg = new javax.swing.JPanel();
jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);
title.setText("Devolución de Libro");
folioLbl.setText("ID Usuario");
libroIdLbl.setText("ID Libro");
button.setText("Devolver");
button.setBorderPainted(false);
button.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
button.addActionListener(new java.awt.event.ActionListener() {
buttonActionPerformed(evt);
});
image.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
image.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Devoluciones.png"))); // NOI18N
bg.setLayout(bgLayout);
bgLayout.setHorizontalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(folioLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(title, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(folioTxt)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(libroIdLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(libroIdTxt)
.addComponent(button, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
bgLayout.setVerticalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(image, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addContainerGap()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(title, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(folioLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
}// </editor-fold>
if (folio.isEmpty() || bookId.isEmpty()) {
javax.swing.JOptionPane.showMessageDialog(this, "Debe llenar todos los campos. \n",
"AVISO", javax.swing.JOptionPane.ERROR_MESSAGE);
folioTxt.requestFocus();
return;
folioTxt.requestFocus();
return;
folioTxt.requestFocus();
return;
try {
com.mycompany.modelo.Usuarios currentUser =
daoUsers.getUserById(Integer.parseInt(folio));
if (currentUser == null) {
folioTxt.requestFocus();
return;
if (currentBook == null){
libroIdTxt.requestFocus();
return;
com.mycompany.modelo.Prestamos currentLending =
daoLendings.getLending(currentUser, currentBook);
if (currentLending == null) {
libroIdTxt.requestFocus();
return;
currentLending.setDate_return(Utiles.getFechaActual());
daoLendings.modificar(currentLending);
currentBook.setAvailable(currentBook.getAvailable() + 1);
daoBooks.modificar(currentBook);
folioTxt.setText("");
libroIdTxt.setText("");
int days =
Utiles.diferenciasDeFechas(Utiles.stringToDate(currentLending.getDate_out()), new Date());
currentUser.setSanctions(currentUser.getSanctions() + 1);
currentUser.setSanc_money(currentUser.getSanc_money() + sancMoney);
daoUsers.sancionar(currentUser);
} catch (Exception e) {
System.out.println(e.getMessage());
podemos devolver colocando el id del usuario con el id del libro que se llevo para que aparezca
en el reporte
libros:
package com.mycompany.vistas;
import com.mycompany.base.DAOLibrosImpl;
import com.mycompany.base.Menu;
import java.awt.Color;
import javax.swing.table.DefaultTableModel;
import com.mycompany.interfaces.DAOLibros;
public Libros() {
initComponents();
InitStyles();
LoadBooks();
title.putClientProperty("FlatLaf.styleClass", "h1");
title.setForeground(Color.black);
} catch (Exception e) {
System.out.println(e.getMessage());
@SuppressWarnings("unchecked")
bg = new javax.swing.JPanel();
title.setText("Libros");
searchButton.setText("Buscar");
searchButton.setBorderPainted(false);
searchButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
searchButton.addActionListener(new java.awt.event.ActionListener() {
searchButtonActionPerformed(evt);
});
deleteButton.setText("Borrar");
deleteButton.setBorderPainted(false);
deleteButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
deleteButton.addActionListener(new java.awt.event.ActionListener() {
deleteButtonActionPerformed(evt);
});
editButton.setText("Editar");
editButton.setBorderPainted(false);
editButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
editButton.addActionListener(new java.awt.event.ActionListener() {
});
addButton.setText("Nuevo");
addButton.setBorderPainted(false);
addButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
addButton.addActionListener(new java.awt.event.ActionListener() {
addButtonActionPerformed(evt);
});
jTable1.setModel(new javax.swing.table.DefaultTableModel(
},
new String [] {
){
};
boolean[] canEdit = new boolean [] {
false, true, true, true, true, true, true, true, true, true, true, true
};
});
jTable1.getTableHeader().setReorderingAllowed(false);
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
jTable1MousePressed(evt);
});
jScrollPane1.setViewportView(jTable1);
bg.setLayout(bgLayout);
bgLayout.setHorizontalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addContainerGap()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(title, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TR
AILING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATE
D)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATE
D)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(bookSearch)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(searchButton)))
);
bgLayout.setVerticalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addContainerGap()
.addComponent(title, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILI
NG)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI
NE)
.addComponent(deleteButton)
.addComponent(editButton)
.addComponent(addButton))
);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
}// </editor-fold>
if (jTable1.getSelectedRows().length < 1) {
} else {
try {
model.removeRow(i);
} catch (Exception e) {
System.out.println(e.getMessage());
try {
Menu.ShowJPanel(new AgLibros(dao.getBookById(bookId)));
} catch (Exception e) {
System.out.println(e.getMessage());
} else {
javax.swing.JOptionPane.showMessageDialog(this, "Debes seleccionar el libro a editar.\
n", "AVISO", javax.swing.JOptionPane.ERROR_MESSAGE);
try {
model.setRowCount(0);
} catch (Exception e) {
System.out.println(e.getMessage());
con este código podemos ver todos los libros que hemos registrado y la cantidad que hay en el
sistema
préstamo:
package com.mycompany.vistas;
import com.mycompany.base.DAOLibrosImpl;
import com.mycompany.base.DAOPrestamosImpl;
import com.mycompany.base.DAOUsuariosImpl;
import com.mycompany.utiles.Utiles;
import java.awt.Color;
import com.mycompany.interfaces.DAOLibros;
import com.mycompany.interfaces.DAOPrestamos;
import com.mycompany.interfaces.DAOUsuarios;
public Prestamos() {
initComponents();
InitStyles();
folioLbl.putClientProperty("FlatLaf.styleClass", "large");
folioLbl.setForeground(Color.black);
libroIdLbl.putClientProperty("FlatLaf.styleClass", "large");
libroIdLbl.setForeground(Color.black);
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
bg = new javax.swing.JPanel();
jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);
folioLbl.setText("ID Usuario");
folioTxt.setToolTipText("");
libroIdLbl.setText("ID Libro");
button.setText("Prestar");
button.setBorderPainted(false);
button.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
button.addActionListener(new java.awt.event.ActionListener() {
buttonActionPerformed(evt);
});
image.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Préstamos.png"))); //
NOI18N
bg.setLayout(bgLayout);
bgLayout.setHorizontalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(folioLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(folioTxt)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(libroIdLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(libroIdTxt)
.addComponent(button, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(20, 20, 20))
.addGroup(bgLayout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
bgLayout.setVerticalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(folioLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(libroIdLbl, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(image, javax.swing.GroupLayout.PREFERRED_SIZE, 0,
Short.MAX_VALUE)
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
}// </editor-fold>
if (folio.isEmpty() || bookId.isEmpty()) {
folioTxt.requestFocus();
return;
folioTxt.requestFocus();
return;
return;
try {
com.mycompany.modelo.Usuarios currentUser =
daoUsers.getUserById(Integer.parseInt(folio));
if (currentUser == null) {
folioTxt.requestFocus();
return;
com.mycompany.modelo.Libros currentBook =
daoBooks.getBookById(Integer.parseInt(bookId));
if (currentBook == null){
libroIdTxt.requestFocus();
return;
libroIdTxt.requestFocus();
return;
com.mycompany.modelo.Prestamos currentLending =
daoLendings.getLending(currentUser, currentBook);
if (currentLending != null) {
libroIdTxt.requestFocus();
return;
lending.setBook_id(currentBook.getId());
lending.setUser_id(currentUser.getId());
lending.setDate_out(Utiles.getFechaActual());
daoLendings.registrar(lending);
currentBook.setAvailable(currentBook.getAvailable() - 1);
daoBooks.modificar(currentBook);
folioTxt.setText("");
libroIdTxt.setText("");
} catch (Exception e) {
javax.swing.JOptionPane.showMessageDialog(this, "Ocurrió un error al prestar el libro. \
n", "AVISO", javax.swing.JOptionPane.ERROR_MESSAGE);
System.out.println(e.getMessage());
aquí podemos prestar los libros que se le da a un usuario y con la ayuda del registro de usuario
podemos saber a que persona se le entrego
Reportes:
package com.mycompany.vistas;
import com.mycompany.base.DAOPrestamosImpl;
import java.awt.Color;
import javax.swing.table.DefaultTableModel;
import com.mycompany.interfaces.DAOPrestamos;
public Reportes() {
initComponents();
InitStyles();
LoadLendings();
title.putClientProperty("FlatLaf.styleClass", "h1");
title.setForeground(Color.black);
try {
model.setRowCount(0);
} catch (Exception e) {
System.out.println(e.getMessage());
@SuppressWarnings("unchecked")
bg = new javax.swing.JPanel();
title.setText("Reportes");
jButton2.setText("Actualizar");
jButton2.setBorderPainted(false);
jButton2.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
jButton2.addActionListener(new java.awt.event.ActionListener() {
jButton2ActionPerformed(evt);
});
jTable1.setModel(new javax.swing.table.DefaultTableModel(
},
new String [] {
){
};
});
jTable1.getTableHeader().setReorderingAllowed(false);
jTable1.addInputMethodListener(new java.awt.event.InputMethodListener() {
jTable1InputMethodTextChanged(evt);
});
jScrollPane1.setViewportView(jTable1);
bg.setLayout(bgLayout);
bgLayout.setHorizontalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addContainerGap()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILI
NG)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
bgLayout.createSequentialGroup()
.addComponent(title, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING))
);
bgLayout.setVerticalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addContainerGap()
.addComponent(title, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton2)
);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
}// </editor-fold>
// nada.
LoadLendings();
aquí podemos ver los reportes de los libros si se entrego a tiempo o tardío y el usuario que lo
entrego
Usuario:
package com.mycompany.vistas;
import com.mycompany.base.DAOUsuariosImpl;
import com.mycompany.base.Menu;
import java.awt.Color;
import javax.swing.table.DefaultTableModel;
import com.mycompany.interfaces.DAOUsuarios;
public Usuarios() {
initComponents();
InitStyles();
LoadUsers();
title.putClientProperty("FlatLaf.styleClass", "h1");
title.setForeground(Color.black);
try {
} catch (Exception e) {
System.out.println(e.getMessage());
@SuppressWarnings("unchecked")
bg = new javax.swing.JPanel();
title.setText("Usuarios");
searchButton.setText("Buscar");
searchButton.setBorderPainted(false);
searchButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
searchButton.addActionListener(new java.awt.event.ActionListener() {
searchButtonActionPerformed(evt);
});
},
new String [] {
){
};
};
});
jTable1.getTableHeader().setReorderingAllowed(false);
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
jTable1MousePressed(evt);
});
jScrollPane1.setViewportView(jTable1);
deleteButton.setBackground(new java.awt.Color(204, 0, 51));
deleteButton.setText("Borrar");
deleteButton.setBorderPainted(false);
deleteButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
deleteButton.addActionListener(new java.awt.event.ActionListener() {
deleteButtonActionPerformed(evt);
});
editButton.setText("Editar");
editButton.setBorderPainted(false);
editButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
editButton.addActionListener(new java.awt.event.ActionListener() {
editButtonActionPerformed(evt);
});
addButton.setText("Nuevo");
addButton.setBorderPainted(false);
addButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
addButton.addActionListener(new java.awt.event.ActionListener() {
addButtonActionPerformed(evt);
});
bg.setLayout(bgLayout);
bgLayout.setHorizontalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addContainerGap()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(title, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
bgLayout.createSequentialGroup()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TR
AILING)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(addButton, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATE
D)
.addComponent(editButton, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATE
D)
.addComponent(deleteButton, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addComponent(userSearch)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(searchButton)))
);
bgLayout.setVerticalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addContainerGap()
.addComponent(title, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILI
NG)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI
NE)
.addComponent(deleteButton)
.addComponent(editButton)
.addComponent(addButton))
);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
}// </editor-fold>
Menu.ShowJPanel(new AgUsuarios());
if (jTable1.getSelectedRows().length < 1) {
} else {
try {
model.removeRow(i);
} catch (Exception e) {
System.out.println(e.getMessage());
try {
Menu.ShowJPanel(new AgUsuarios(dao.getUserById(userId)));
} catch (Exception e) {
System.out.println(e.getMessage());
} else {
try {
model.setRowCount(0);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}