Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MANUAL DE APLICACIONES
UTILIZANDO JAVA PARA EL MTODO
CRIPTOGRAFICO POLYBIOS
CRIPTOGRAFIA - I
DOCENTE:
HUACHO-PERU
U UNIVERSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION ING.INFORMATICA
DEDICATORIA:
Queremos dedicarle este
trabajo a Dios
Que nos ha dado la vida y fortaleza para
culminar este manual.
A nuestros padres por
estar all cuando
ms los necesitamos;
en especial a las madres por brindarnos su
ayuda y constante cooperacin en nuestras
vidas.
INDICE
I. PRESENTACION........................................................................................................................... 5
II. INTRODUCCION .......................................................................................................................... 6
III. CIFRADO DE POLYBIOS ........................................................................................................... 7
Ejemplo N1 ................................................................................................................................ 7
Ejemplo N2 ................................................................................................................................ 7
IV. SISTEMA DE NUMERACIN BINARIO ..................................................................................... 8
V. SISTEMA BINARIO EN POLYBIOS ................................................................................................ 9
Ejemplo N1.1 ........................................................................................................................... 10
Ejemplo N2.1 ........................................................................................................................... 10
PROGRAMA EN EXCEL DE POLYBIOS Y BINARIO .......................................................................... 11
VI. Sistema de Numeracin Octal .............................................................................................. 13
VII. Sistema Octal en Polybios .................................................................................................... 14
Ejemplo N1.2 ........................................................................................................................... 15
Ejemplo N2.2 ........................................................................................................................... 15
PROGRAMA EN EXCEL DE SISTEMA OCTANARIO ......................................................................... 16
VIII. SISTEMA DE NUMERACIN HEXADECIMAL ......................................................................... 18
IX. SISTEMA HEXADECIMAL EN POLYBIOS................................................................................. 19
Ejemplo N1.3 ........................................................................................................................... 20
Ejemplo N2.3 ........................................................................................................................... 20
X. LOS CARACTERES ASCII............................................................................................................. 21
CARACTERES DE CONTROL ASCII NO IMPRIMIBLES: .................................................................... 22
CARACTERES ASCII ALFANUMRICOS IMPRIMIBLES: ................................................................... 23
CARACTERES ASCII EXTENDIDOS IMPRIMIBLES: .......................................................................... 26
Ejemplo N1.4 ........................................................................................................................... 30
Ejemplo N2.4 ........................................................................................................................... 30
XI. MANUAL DEL PROGRAMA EN JAVA ..................................................................................... 31
PARA CIFRAR LAS PALABRAS SE HACE DE LA SIGUIENTE FORMA ................................................ 32
PARA DESCIFRAR LAS PALABRAS SE HACE DE LA SIGUIENTE FORMA.......................................... 37
PARA GUARDAR REGISTROS DE CIFRADO O DESCIFRADO........................................................... 39
LA FUNCIONALIDADES DE LOS BOTONES EN LA INTERFAZ PRINCIPAL ........................................ 40
XII. ANEXOS ................................................................................................................................ 42
CODIGO EN JAVA DE LA CLASE CLAVE .......................................................................................... 42
CODIGO CLASE CLAVESTRING ...................................................................................................... 44
CODIGO CLASE REGISTROTO ........................................................................................................ 48
I. PRESENTACION
En el presente manual daremos a conocer algunos sistemas de
objetivo ser sustituir los caracteres que son las letras del
II. INTRODUCCION
En la primera parte del manual daremos a conocer la definicin del
y algunos ejemplos.
Tabla N1 Tabla N2
El mtodo, consiste en hacer corresponder la letra que se deseaba ocultar con otras dos
segn la fila y la columna de la matriz a la que le perteneca.
Ejemplo N1
La palabra C R I P T O G R A F I A
AC DB BD CE DD CD BB DB AA BA BD AA
13 42 24 35 44 34 22 42 11 21 24 11
Ejemplo N2
El nombre UNIVERSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION
DECCBDFBAEDBDCBDADAAAD CCAAACBDCDCCAACA BDCDDCAE
BAAADEDCDDBDCCCD DCAACCACBCAEFE ACAADBDBBDCDCC
(1)
2012, https://es.wikipedia.org/wiki/Cuadrado_de_Polibio
149.375(10) = 10010101.011(2)
(2)
Prez Porto,2014, https://definicion.de/sistema-binario/
(3)
Gardey,2014, https://definicion.de/sistema-binario/
Binarios 1 0 0 1
23 22 21 20
Binarios 1 1 1 1
23 22 21 20
Binarios 0 1 1 1
23 22 21 20
Binarios 0 1 0 1
23 22 21 20
Binarios 1 0 0 0
23 22 21 20
Suma la fila 8 0 0 0 8
1001(2) A B C D E
9(10) (01000001) (01000010) (01000011) (01000100) (01000101)
1111(2) F G H IJ K
15(10) (01000110) (01000111) (01001000) (01001001) (01001011)
0111(2) L M N O P
7(10) (01001100) (01001101) (01001110) (01001111) (01010000)
0101(2) Q R S T U
5(10) (01010001) (01010010) (01010011) (01010100) (01010101)
0100(2) V W X Y Z
8(10) (01010110) (01010111) (01011000) (01011001) (01011010)
Table N3
Elaboracin propia
Ejemplo N1.1
La palabra CRIPTOGRAFA en binario
10010111 01011111 11111001 01110100 01011001 01111001 11111111
01011111 10011001 11111001 11111001 10011001
Ejemplo N2.1
- El nombre UNIVERSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION
en binario
o 01010100001110111111101010100100110010100010111110101011111
110101100101011001100110010101
01110111100110011001011111110101011101010111011110011001011
11001 11110101011101010101011110010100
11111001100110010101010001010111010101011111010101110111011
10101
01010111100110010111011110010111111101111001010001010111
10010111100110010101111101011111111101010111010101110111
Tabla N4
Elaboracin propia
Tabla N5
Elaboracin propia
Tabla N6
Elaboracin propia
hace que la conversin a binario o viceversa sea bastante simple. El sistema octal usa 8
decimal 5.
61 / 8 =7 residuo (5)
7 / 8 =7 residuo (7)
(4)
Pulido, 2009, https://es.wikipedia.org/wiki/Sistema_octal
(5)
Perez,2012, https://es.slideshare.net/campeon23479/sistema-octal-14032143
(6)
Perez,2012, https://es.slideshare.net/campeon23479/sistema-octal-14032143
CURSO: CRIPTOGRAFIA I pg. 13
U UNIVERSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION ING.INFORMATICA
cifrado.
1) 14510 = 1 * 82 + 4 * 81 + 5* 80 = 2218
2) 24510 = 2 * 82 + 4 * 81 + 5* 80 = 3658
3) 39810 = 3 * 82 + 9 * 81 + 8* 80 = 6168
4) 17010 = 1 * 82 + 7 * 81 + 0* 80 = 2528
5) 50110 = 5 * 82 + 0 * 81 + 1* 80 = 7658
6) 45110 = 4 * 82 + 5 * 81 + 1* 80 = 7038
7) 45210 = 4 * 82 + 5 * 81 + 2* 80 = 7048
8) 12310 = 1 * 82 + 2 * 81 + 3 80 = 1738
9) 25410 = 2 * 82 + 5* 81 + 4* 80 = 3768
( ) ( ) ( ) ( ) ( )
A B C D E
( )
F G H IJ K
( )
M N O P
( )
Q R S T U
( )
V W X Y Z
( )
Tabla N7
Elaboracin propia
Ejemplo N1.2
La palabra CRIPTOGRAFA en binario
10010111 01011111 11111001 01110100 01011001 01111001 11111111
01011111 10011001 11111001 11111001 10011001
Ejemplo N2.2
- El nombre UNIVERSIDAD NACIONAL JOSE FAUSTINO SNCHEZ CARRIN
o 36776517361670425260522170376537636537661670425270325270322
1703252 173616703221703616704252173253173616703221173221
704252173252376616703765
70422170322137676537616376252704252173616173252
376616703221376365376365704252173252173616
703616703221376365376365704252173252173616
Tabla N8
Elaboracin propia
Tabla N9
Elaboracin propia
Tabla N10
Elaboracin propia
- Escribir la letra A su frmula:
=BUSCAR(D16;$A$15:$B$40)
- Escribir la letra N su frmula:
=BUSCAR(E16;$A$15:$B$40)
- Escribir la letra G su frmula:
=BUSCAR(F16;$A$15:$B$40)
- Escribir la letra E su frmula:
=BUSCAR(G16;$A$15:$B$40)
- Escribir la letra L su frmula:
=BUSCAR(H16;$A$15:$B$40)
- Escribir la letra L su frmula:
=BUSCAR(I16;$A$15:$B$40)
- Escribir la letra O su frmula:
=BUSCAR(J16;$A$15:$B$40)
- Espacio en blanco para que se llene automtico
= SI.ND(BUSCAR (K16;$A$15:$B$40);"")
Lo cual solo con el valor de la primer letras la frmula de la primera
letra se genera los dems.
Tabla N11
Elaboracin propia
Su uso actual est muy vinculado a la informtica y ciencias de la computacin donde las
operaciones de la CPU suelen usar el byte u octeto como unidad bsica de memoria; y,
debido a que un byte representa 28 valores posibles, y esto puede representarse como
exactamente a un byte 7.
Tabla N12
dividir la cantidad del sistema decimal entre 16, el nmero entero que da como resultado
se divide nuevamente entre 16, de forma sucesiva hasta que el dividendo resulta inferior
al divisor.
Hecho esto, los restos de cada divisin se ordenan desde el ltimo resto hasta el primero.
lo siguiente.
30 / 16 = 1 residuo (14)
1 14 11 1 E B
(7)
Natharael, 2014, https://es.wikipedia.org/wiki/Sistema_hexadecimal
A B C D E F
G H I J K L
M N O P Q
R S T U V W
X Y Z
Tabla N13
Elaboracin propia
Ejemplo N1.3
La palabra CRIPTOGRAFA
2A9C 2D9A 2B9C 2C9E 2D9C 2C9D 2B9A 2D9A 2A9A 2A2F 2B9C 2A9A
Ejemplo N2.3
- El nombre UNIVERSIDAD NACIONAL JOSE FAUSTINO SNCHEZ CARRIN
o D9D2C9B2B9C2D9E2A9E2D9A2D9B2B9C2A9D2A9A2A9
2C9B2A9A2A9C2B9C2C9D2C9B2A9A2B9F 2B9D2C9D2D9B2E9E
2A9F2A9A2D9D2D9B2D9C2B9C2C9B2C9D
2D9B2E9D2C9B2A9C2B9B2A9E2E9C
2A9C2A9A2D9A2D9A2B9C2E9F2C9B
Tabla N14
Pgina: http://www.elcodigoascii.com.ar/
(8)
http://www.elcodigoascii.com.ar/
(9)
http://www.elcodigoascii.com.ar/
ASCII
(alt + 244) (alt + 225) (alt + 207) (alt + 206) (alt + 240)
(alt + 243) A B C D E
(alt + 245) F G H IJ K
(alt + 231) L M N O P
(alt + 208) Q R S T U
(alt + 229) V W X Y Z
Tabla N15
Elaboracin propia
Ejemplo N1.4
La palabra CRIPTOGRAFA
Ejemplo N2.4
- El nombre UNIVERSIDAD NACIONAL JOSE FAUSTINO SNCHEZ CARRIN
3) Si deseas resetear las claves a su estado original o las ha borrado todas y las
quiere recuperar, tiene a su disposicin la opcin Reset (icono verde ).
4) Luego le aparecer el siguiente mensaje, lo que hace Reset es eliminar todas las
claves y aadir las claves por defecto.
PASOS:
- Para guardar el texto en claro y resultado en favoritos, debes hacer click en Aadir
a favoritos (icono ).
- Luego, debes hacer click en Ver Favoritos para ver la lista de favoritos.
en la casilla de Resultado.
- Administrar Claves:
- La opcin RealTime Simulation sirve para ver en tiempo real el nombre que se le
pone a la tabla de Polybios.
- La opcin Editable define si esta tabla, al guardarla, permitir o no ediciones
posteriores.
XII. ANEXOS
CODIGO EN JAVA DE LA CLASE CLAVE
package Clases;
public class Clave {
public Clave() {
}
public Clave(char[] fila, char[] columna, String nombre) {
if (fila.length == this.fila.length && columna.length ==
this.columna.length) {
this.fila = fila;
this.columna = columna;
this.nombre = nombre;
this.matriz = matriz = new char[][]{{'A', 'B', 'C', 'D',
'E'}, {'F', 'G', 'H', 'I', 'J'}, {'K', 'M', 'N', 'O', 'P'}, {'Q', 'R',
'S', 'T', 'U'}, {'V', 'W', 'X', 'Y', 'Z'}};
}
}
public Clave(char[] fila, char[] columna, char[][] matriz, String
nombre) {
if (fila.length == matriz.length && columna.length ==
matriz[0].length) {
this.fila = fila;
this.columna = columna;
this.matriz = matriz;
this.nombre = nombre;
System.out.println("matriz creada");
} else {
System.out.println("matriz no creada");
}
}
@Override
public String toString() {
return this.nombre;
}
public static String cifrar(String m, Clave k, String sep) {
String c = "";
for (int i = 0; i < m.length(); i++) {
c = c + k.getClave(m.charAt(i)) + sep;
}
return c;
}
@Override
public String toString() {
return this.nombre;
}
public int getLength() {
return fila[0].length();
}
public String getChar(String k1, String k2, String _nul) {
for (int i = 0; i < fila.length; i++) {
for (int j = 0; j < columna.length; j++) {
if (fila[i].equals(k1) && columna[j].equals(k2)) {
return matriz[i][j];
}
}
}
return _nul;
}
return modelo;
}
}
import java.io.Serializable;
public class registroTO implements Serializable{
String texto,criptograma,clave,fecha;
/**
* Creates new form AcercaDe
*/
public AcercaDe() {
initComponents();
setLocationRelativeTo(null);
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(AcercaDe.class.getName()).log(java.uti
l.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(AcercaDe.class.getName()).log(java.uti
l.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(AcercaDe.class.getName()).log(java.uti
l.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(AcercaDe.class.getName()).log(java.uti
l.logging.Level.SEVERE, null, ex);
}
@SuppressWarnings("unchecked")
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setType(java.awt.Window.Type.UTILITY);
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("Informacin acerca de los desarrolladores:");
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING)
.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)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jLabel10,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(174, 174, 174))
.addComponent(jLabel9,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel8,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(95, 95, 95))
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jLabel4,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(412, 412, 412)))
.addGap(184, 184, 184))
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jLabel6,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
.addComponent(jLabel5,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel7,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel10)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel9)
.addGap(4, 4, 4)
.addComponent(jLabel8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel7)
.addGap(1, 1, 1)
.addComponent(jLabel6)
.addContainerGap(23, Short.MAX_VALUE))
);
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jPanel3,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(3, 3, 3))
);
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
);
pack();
}
}
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel3;
}
import Clases.ClaveString;
import java.awt.Image;
import java.awt.Toolkit;
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;
GUI gui;
DefaultTableModel modelo;
AdministrarClaves(GUI gui) {
initComponents();
modelo = (DefaultTableModel) jtblTabla.getModel();
setLocationRelativeTo(null);
setVisible(true);
this.gui = gui;
llenarTabla();
}
@SuppressWarnings("unchecked")
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Administrador de Claves");
setIconImage(getIconImage());
setMinimumSize(new java.awt.Dimension(0, 392));
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
jtblTabla.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTIO
N);
jtblTabla.setShowHorizontalLines(false);
jtblTabla.setShowVerticalLines(false);
jtblTabla.getTableHeader().setReorderingAllowed(false);
jScrollPane2.setViewportView(jtblTabla);
jtblTabla.getColumnModel().getSelectionModel().setSelectionMode(javax.swi
ng.ListSelectionModel.SINGLE_INTERVAL_SELECTION);
jbtnEliminar.setText("Eliminar");
jbtnEliminar.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnEliminarActionPerformed(evt);
}
});
jbtnAbrir.setText("Modificar Clave");
jbtnAbrir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnAbrirActionPerformed(evt);
}
});
jbtnLimpiar.setText("Limpiar Lista");
jbtnLimpiar.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnLimpiarActionPerformed(evt);
}
});
jlblNombreClaveMatriz.setHorizontalAlignment(javax.swing.SwingConstants.C
ENTER);
jlblNombreClaveMatriz.setText("Administrador de Claves");
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addComponent(jlblNombreClaveMatriz,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING)
.addComponent(jScrollPane2,
javax.swing.GroupLayout.DEFAULT_SIZE, 711, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jbtnAbrir,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtnEliminar,
javax.swing.GroupLayout.PREFERRED_SIZE, 116,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtnLimpiar,
javax.swing.GroupLayout.PREFERRED_SIZE, 108,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(jlblNombreClaveMatriz)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane2,
javax.swing.GroupLayout.PREFERRED_SIZE, 268,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.BASELINE)
.addComponent(jbtnEliminar)
.addComponent(jbtnAbrir)
.addComponent(jbtnLimpiar))
.addGap(18, 18, 18))
);
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel2,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
if (jtblTabla.getSelectedRow() < 0) {
gui.mostrarMensajeError("Selecciona una clave para
eliminar.");
} else if (modelo.getRowCount() == 0) {
gui.mostrarMensajeFavoritos("No tienes claves, aade una!");
} else {
gui.eliminarClave(jtblTabla.getSelectedRow(), this);
}
}
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JButton jbtnAbrir;
private javax.swing.JButton jbtnEliminar;
private javax.swing.JButton jbtnLimpiar;
private javax.swing.JLabel jlblNombreClaveMatriz;
private javax.swing.JTable jtblTabla;
@Override
public Image getIconImage() {
Image retValue = Toolkit.getDefaultToolkit().
getImage(ClassLoader.getSystemResource("imagenes/icons8-
Configuracin de datos-25.png"));
return retValue;
}
import Clases.registroTO;
import java.awt.Image;
import java.awt.Toolkit;
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;
public class Favoritos extends javax.swing.JFrame {
private GUI gui;
DefaultTableModel modelo;
Favoritos(GUI gui) {
initComponents();
modelo = (DefaultTableModel) jtblTabla.getModel();
setLocationRelativeTo(null);
setVisible(true);
this.gui = gui;
llenarTabla();
}
@SuppressWarnings("unchecked")
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Favoritos");
setIconImage(getIconImage());
setMaximumSize(new java.awt.Dimension(2147483647, 392));
setMinimumSize(new java.awt.Dimension(0, 392));
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("lista de
favoritos"));
}
});
jtblTabla.setGridColor(new java.awt.Color(153, 153, 153));
jtblTabla.setSelectionBackground(new java.awt.Color(255, 204,
51));
jtblTabla.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTIO
N);
jtblTabla.setShowHorizontalLines(false);
jtblTabla.setShowVerticalLines(false);
jtblTabla.getTableHeader().setReorderingAllowed(false);
jScrollPane2.setViewportView(jtblTabla);
jtblTabla.getColumnModel().getSelectionModel().setSelectionMode(javax.swi
ng.ListSelectionModel.SINGLE_INTERVAL_SELECTION);
jbtnEliminar.setText("Eliminar");
jbtnEliminar.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnEliminarActionPerformed(evt);
}
});
jbtnAbrir.setText("Abrir");
jbtnAbrir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnAbrirActionPerformed(evt);
}
});
jbtnLimpiar.setText("Limpiar Lista");
jbtnLimpiar.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnLimpiarActionPerformed(evt);
}
});
jlblNombreClaveMatriz.setHorizontalAlignment(javax.swing.SwingConstants.C
ENTER);
jlblNombreClaveMatriz.setText("FAVORITOS");
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addComponent(jlblNombreClaveMatriz,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING)
.addComponent(jScrollPane2,
javax.swing.GroupLayout.DEFAULT_SIZE, 703, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jbtnAbrir,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtnEliminar,
javax.swing.GroupLayout.PREFERRED_SIZE, 116,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtnLimpiar,
javax.swing.GroupLayout.PREFERRED_SIZE, 108,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(jlblNombreClaveMatriz)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane2,
javax.swing.GroupLayout.PREFERRED_SIZE, 268,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.BASELINE)
.addComponent(jbtnEliminar)
.addComponent(jbtnAbrir)
.addComponent(jbtnLimpiar))
.addGap(18, 18, 18))
);
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel2,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
}
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JButton jbtnAbrir;
private javax.swing.JButton jbtnEliminar;
private javax.swing.JButton jbtnLimpiar;
private javax.swing.JLabel jlblNombreClaveMatriz;
private javax.swing.JTable jtblTabla;
@Override
public Image getIconImage() {
Image retValue = Toolkit.getDefaultToolkit().
getImage(ClassLoader.getSystemResource("imagenes/me_gusta/icons8-Me gusta
Filled-25.png"));
return retValue;
}
/**
*
* @author Jhordy Principe
*/
public class GUI extends javax.swing.JFrame {
DefaultComboBoxModel modeloCBox;
DefaultTableModel modeloTabla;
ArrayList<ClaveString> claves = new ArrayList<ClaveString>();
boolean cifrar;
boolean _tablaAbierta, _nuevo;
ArrayList<registroTO> _regfavoritos;
public GUI() {
initComponents();
crearCarpetaFavoritos();
_tablaAbierta = false;
_nuevo = false;
abrirTabla(_tablaAbierta);
setLocationRelativeTo(null);
modeloCBox = (DefaultComboBoxModel) jcbxClave.getModel();
modeloTabla = (DefaultTableModel) jtblTabla.getModel();
_regfavoritos = cargarListaRegistros();
cargarClaves();
cifrar = true;
mostrarPrograma();
}
*/
@SuppressWarnings("unchecked")
private void initComponents() {
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGap(0, 100, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBackground(new java.awt.Color(255, 255, 255));
setIconImage(getIconImage());
setResizable(false);
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Cifrador
Polybios"));
jLabel1.setText("Seleccionar Clave:");
jcbxClave.setBorder(null);
jcbxClave.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
jcbxClaveItemStateChanged(evt);
}
});
jcbxClave.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jcbxClaveMouseClicked(evt);
}
});
jcbxClave.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jcbxClaveActionPerformed(evt);
}
});
jcbxClave.addPropertyChangeListener(new
java.beans.PropertyChangeListener() {
public void propertyChange(java.beans.PropertyChangeEvent
evt) {
jcbxClavePropertyChange(evt);
}
});
jtxtClaro.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jtxtClaroActionPerformed(evt);
}
});
jtxtClaro.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
jtxtClaroKeyPressed(evt);
}
public void keyReleased(java.awt.event.KeyEvent evt) {
jtxtClaroKeyReleased(evt);
}
public void keyTyped(java.awt.event.KeyEvent evt) {
jtxtClaroKeyTyped(evt);
}
});
jtxtCriptograma.setEditable(false);
jtxtCriptograma.setColumns(20);
jtxtCriptograma.setRows(5);
jScrollPane1.setViewportView(jtxtCriptograma);
jButton1.setText("Copiar");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText("Limpiar");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3.setText("Mostrar Tabla");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jLabel3.setText("Separador:");
jtxtSeparador.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
jtxtSeparadorKeyPressed(evt);
}
public void keyReleased(java.awt.event.KeyEvent evt) {
jtxtSeparadorKeyReleased(evt);
}
});
jtxtCifrarDecifrar.setText("DESCIFRAR");
jtxtCifrarDecifrar.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jtxtCifrarDecifrarActionPerformed(evt);
}
});
jtxtCifrarDecifrar.addKeyListener(new java.awt.event.KeyAdapter()
{
public void keyPressed(java.awt.event.KeyEvent evt) {
jtxtCifrarDecifrarKeyPressed(evt);
}
});
jButton4.setText("Acerca de");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jbtnVerLista.setText("Ver Favoritos");
jbtnVerLista.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jbtnVerListaMouseClicked(evt);
}
});
jbtnVerLista.addActionListener(new
java.awt.event.ActionListener() {
jlblFavoritos.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jlblFavoritos.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/imagenes/me_gusta/icons8-
Me gusta-25.png"))); // NOI18N
jlblFavoritos.setToolTipText("Agregar esto a mi lista");
jlblFavoritos.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseClicked(java.awt.event.MouseEvent evt) {
jlblFavoritosMouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jlblFavoritosMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jlblFavoritosMouseExited(evt);
}
public void mouseReleased(java.awt.event.MouseEvent evt) {
jlblFavoritosMouseReleased(evt);
}
});
jlblExportarTodasCskey.setHorizontalAlignment(javax.swing.SwingConstants.
CENTER);
jlblExportarTodasCskey.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/imagenes/icons8-Guardar
todo-25.png"))); // NOI18N
jlblExportarTodasCskey.setToolTipText("Exportar todas las
clave");
jlblExportarTodasCskey.addMouseListener(new
java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jlblExportarTodasCskeyMouseClicked(evt);
}
});
jlblCargarCskey.setHorizontalAlignment(javax.swing.SwingConstants.CENTER)
;
jlblCargarCskey.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/imagenes/icons8-Agregar
archivo-25.png"))); // NOI18N
jlblCargarCskey.setToolTipText("Importar esta clave");
jlblCargarCskey.addMouseListener(new
java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jlblCargarCskeyMouseClicked(evt);
}
});
jlblExportarUnaCskey.setHorizontalAlignment(javax.swing.SwingConstants.CE
NTER);
jlblExportarUnaCskey.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/imagenes/icons8-Guardar-
25.png"))); // NOI18N
jlblExportarUnaCskey.setToolTipText("Exportar esta clave");
jlblExportarUnaCskey.addMouseListener(new
java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jlblExportarUnaCskeyMouseClicked(evt);
}
});
jlblExportarUnaCskey.addKeyListener(new
java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
jlblExportarUnaCskeyKeyPressed(evt);
}
});
jlblCifrar.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jlblCifrar.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/imagenes/llave/icons8-
Llave-25-2.png"))); // NOI18N
jlblCifrar.setToolTipText("aplicar cifrado o descifrado al texto
en claro.");
jlblCifrar.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jlblCifrarMouseClicked(evt);
}
});
jlblAdministrarClaves.setHorizontalAlignment(javax.swing.SwingConstants.C
ENTER);
jlblAdministrarClaves.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/imagenes/icons8-
Configuracin de datos-25.png"))); // NOI18N
jlblAdministrarClaves.setToolTipText("Administrar Claves");
jlblAdministrarClaves.addMouseListener(new
java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jlblAdministrarClavesMouseClicked(evt);
}
});
jlblResetClaves.setHorizontalAlignment(javax.swing.SwingConstants.CENTER)
;
jlblResetClaves.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/imagenes/icons8-Cita
recurrente-25.png"))); // NOI18N
jlblResetClaves.setToolTipText("Reset Claves");
jlblResetClaves.addMouseListener(new
java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jlblResetClavesMouseClicked(evt);
}
});
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.TRAILING)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
jPanel1Layout.createSequentialGroup()
.addComponent(jButton1,
javax.swing.GroupLayout.PREFERRED_SIZE, 123,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton2,
javax.swing.GroupLayout.PREFERRED_SIZE, 123,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButton3,
javax.swing.GroupLayout.PREFERRED_SIZE, 123,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton4,
javax.swing.GroupLayout.PREFERRED_SIZE, 123,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
jPanel1Layout.createSequentialGroup()
.addComponent(jbtnVerLista,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jtxtCifrarDecifrar,
javax.swing.GroupLayout.PREFERRED_SIZE, 143,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(128, 128, 128)
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jtxtSeparador,
javax.swing.GroupLayout.PREFERRED_SIZE, 60,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
jPanel1Layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jcbxClave,
javax.swing.GroupLayout.PREFERRED_SIZE, 263,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jlblResetClaves)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jlblAdministrarClaves)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jlblCargarCskey)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jlblExportarUnaCskey)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jlblExportarTodasCskey,
javax.swing.GroupLayout.PREFERRED_SIZE, 25,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jlblFavoritos)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jtxtClaro)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jlblCifrar)))
.addGap(10, 10, 10))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel2)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jlblAdministrarClaves)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING)
.addComponent(jlblExportarTodasCskey,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING)
.addComponent(jlblResetClaves)
.addComponent(jlblCargarCskey)
.addComponent(jlblExportarUnaCskey)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.BASELINE)
.addComponent(jcbxClave,
javax.swing.GroupLayout.PREFERRED_SIZE, 25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1)))
.addGap(0, 0, Short.MAX_VALUE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.BASELINE)
.addComponent(jLabel3)
.addComponent(jtxtSeparador,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jtxtCifrarDecifrar)
.addComponent(jbtnVerLista))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.TRAILING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING, false)
.addComponent(jlblFavoritos,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jtxtClaro))
.addComponent(jlblCifrar))
.addGap(18, 18, 18)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 217,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2)
.addComponent(jButton3)
.addComponent(jButton4))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Matriz"))
;
jbtnmExportar.setText("Exportar");
jbtnmExportar.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnmExportarActionPerformed(evt);
}
});
jbtnmNuevo.setText("Nuevo");
jbtnmNuevo.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnmNuevoActionPerformed(evt);
}
});
jbtnmModificar.setText("Modificar");
jbtnmModificar.setEnabled(false);
jbtnmModificar.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnmModificarActionPerformed(evt);
}
});
jbtnmCerrar.setText("Cerrar");
jbtnmCerrar.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnmCerrarActionPerformed(evt);
}
});
jlblNombreClaveMatriz.setHorizontalAlignment(javax.swing.SwingConstants.C
ENTER);
jlblNombreClaveMatriz.setText("Convertir nmero decimal a
hexadecimal");
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addComponent(jlblNombreClaveMatriz,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING)
.addComponent(jScrollPane2)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jrbtnModificable,
javax.swing.GroupLayout.DEFAULT_SIZE, 119, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jbtnmNuevo,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtnmExportar,
javax.swing.GroupLayout.PREFERRED_SIZE, 116,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtnmModificar,
javax.swing.GroupLayout.PREFERRED_SIZE, 108,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtnmCerrar,
javax.swing.GroupLayout.PREFERRED_SIZE, 115,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(jlblNombreClaveMatriz)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane2,
javax.swing.GroupLayout.PREFERRED_SIZE, 285,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.BASELINE)
.addComponent(jbtnmExportar)
.addComponent(jbtnmNuevo)
.addComponent(jbtnmModificar)
.addComponent(jbtnmCerrar)
.addComponent(jrbtnModificable))
.addContainerGap())
);
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING, false)
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(3, 3, 3))
);
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel3,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
);
pack();
}// </editor-fold>
private void
jtxtCifrarDecifrarActionPerformed(java.awt.event.ActionEvent evt) {
cifrar = !cifrar;
cambiarIconoLlaveCifrar();
jtxtCifrarDecifrar.setText(cifrar ? "DESCIFRAR" : "CIFRAR");
jLabel2.setText(cifrar ? "Ingresar Texto en Claro:" : "Ingresar
Criptograma:");
jtxtClaro.setText(null);
copiar(jtxtCriptograma.getText().replace(jtxtSeparador.getText(),
""));
llenarTxtArea();
if(!cifrar){
mostrarMensaje("Se ha copiado el criptograma al
portapapeles.");
}
jtxtClaro.grabFocus();
}
private void
jlblExportarTodasCskeyMouseClicked(java.awt.event.MouseEvent evt) {
String arch = "mis_claves.cskey";
String ruta = getRutaGuardar(new
FileNameExtensionFilter("Archivos cskey", "cskey"), arch);
if (!ruta.equals(arch)) {
guardarObjeto(ruta, claves, "Claves guardadas!", 0);//el 0 no
significa nada en especial
}
}
private void
jlblExportarUnaCskeyMouseClicked(java.awt.event.MouseEvent evt) {
ArrayList<ClaveString> clave = new ArrayList<ClaveString>();
clave.add((ClaveString) jcbxClave.getSelectedItem());
String arch = clave.get(0).getNombre() + ".cskey";
String ruta = getRutaGuardar(new
FileNameExtensionFilter("Archivos cskey", "cskey"), arch);
if (!ruta.equals(arch)) {
guardarObjeto(ruta, clave, "Clave guardada!");
}
}
private void
jlblAdministrarClavesMouseClicked(java.awt.event.MouseEvent evt) {
AdministrarClaves x = new AdministrarClaves(this);
}
@Override
public Image getIconImage() {
Image retValue = Toolkit.getDefaultToolkit().
getImage(ClassLoader.getSystemResource("imagenes/hexa-
50.png"));
return retValue;
}
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.log
ging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.log
ging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.log
ging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.log
ging.Level.SEVERE, null, ex);
}
try {
Thread.sleep(600);
this.setVisible(true);
} catch (Exception ex) {
System.out.println("ha ocurrido un error: " + ex);
}
}
new
javax.swing.ImageIcon(getClass().getResource("/imagenes/icons8-Guardar
todo-25.png"))
);
}
}
}
public Object abrirObjeto(String ruta, boolean b) {
Object o = null;
try {
try (ObjectInputStream ois = new ObjectInputStream(new
FileInputStream(ruta))) {
o = ois.readObject();
}
} catch (IOException | ClassNotFoundException e) {
if (b) {
mostrarMensaje("No se ha podido cargar. " + e);
}
}
return o;
}
_regfavoritos);
fav.llenarTabla();
mostrarMensajeFavoritos("El registro ha sido eliminado de tus
favoritos");
}
}
while (!claves.isEmpty()) {
claves.remove(0);
}
guardarClaves();
administrar.llenarTabla();
llenarJcbx();
mostrarMensajeFavoritos("Ya no tienes claves, aade una!");
}
}
void resetearClaves() {
if (JOptionPane.showConfirmDialog(null, "Deseas resetear sus
claves?, esto restablecer las claves por defecto y eliminar las
dems.") == 0) {
while (!claves.isEmpty()) {
claves.remove(0);
}
generarClavesPorDefecto();
llenarJcbx();
mostrarMensajeFavoritos("Las claves han sido
restablecidas.");
}
}
{"G", "H", "I", "J", "K", "L", "b", "l", "q", "8"},
{"M", "N", "", "O", "P", "Q", "c", "m", "r", "7"},
{"R", "S", "T", "U", "V", " ", "d", "n", "s", "6"},
{"X", "Y", "Z", "", "", "", "e", "", "t", "5"},
{"", "", "f", "g", "h", "i", "j", "o", "u", "4"},
{"v", "w", "x", "y", "z", "", "", "", "", "3"},
{"", ",", ";", "*", "/", ":", "?", "", "'", "2"},
{"", "!", "|", "%", "&", "", "", "$", "0", "1"}},
"Polybios Binario",
"XXXX",
"#"
));
claves.add(new ClaveString(
new String[]{"221", "365", "616", "252", "765", "172",
"376", "703", "605"},
new String[]{"704", "604", "360", "615", "760", "170",
"340", "220", "110", "222"},
new String[][]{
{"A", "B", "C", "D", "E", "F", "a", "k", "p", "9"},
{"G", "H", "I", "J", "K", "L", "b", "l", "q", "8"},
{"M", "N", "", "O", "P", "Q", "c", "m", "r", "7"},
{"R", "S", "T", "U", "V", " ", "d", "n", "s", "6"},
{"X", "Y", "Z", "", "", "", "e", "", "t", "5"},
{"", "", "f", "g", "h", "i", "j", "o", "u", "4"},
{"v", "w", "x", "y", "z", "", "", "", "", "3"},
{"", ",", ";", "*", "/", ":", "?", "", "'", "2"},
{"", "!", "|", "%", "&", "", "", "$", "0", "1"}},
"Polybios Octal",
"XXX",
"#"
));
claves.add(new ClaveString(
new String[]{"F2A", "11B", "E2C", "82D", "2E1", "1E5",
"25F", "2AA", "29E"},
new String[]{"21A", "19B", "29C", "9D3", "5E5", "92F",
"34A", "78C", "97A", "99D"},
new String[][]{
{"A", "B", "C", "D", "E", "F", "a", "k", "p", "9"},
{"G", "H", "I", "J", "K", "L", "b", "l", "q", "8"},
{"M", "N", "", "O", "P", "Q", "c", "m", "r", "7"},
{"R", "S", "T", "U", "V", " ", "d", "n", "s", "6"},
{"X", "Y", "Z", "", "", "", "e", "", "t", "5"},
{"", "", "f", "g", "h", "i", "j", "o", "u", "4"},
{"v", "w", "x", "y", "z", "", "", "", "", "3"},
{"", ",", ";", "*", "/", ":", "?", "", "'", "2"},
{"", "!", "|", "%", "&", "", "", "$", "0", "1"}},
"Polybios Hexadecimal",
"XXX",
"#"
));
claves.add(new ClaveString(
new String[]{"@", "", "#", "", "", "",
"", "", "{~}"},
new String[]{"", "@#&", "", "", "", "",
"", "", "", ""},
new String[][]{
{"A", "B", "C", "D", "E", "F", "a", "k", "p", "9"},
{"G", "H", "I", "J", "K", "L", "b", "l", "q", "8"},
{"M", "N", "", "O", "P", "Q", "c", "m", "r", "7"},
{"R", "S", "T", "U", "V", " ", "d", "n", "s", "6"},
{"X", "Y", "Z", "", "", "", "e", "", "t", "5"},
{"", "", "f", "g", "h", "i", "j", "o", "u", "4"},
{"v", "w", "x", "y", "z", "", "", "", "", "3"},
{"", ",", ";", "*", "/", ":", "?", "", "'", "2"},
{"", "!", "|", "%", "&", "", "", "$", "0", "1"}},
"Polybios ASCII",
"XXX",
"#"
));
guardarClaves();
}
private void cargarClaves() {
try {
ArrayList<ClaveString> obj = (ArrayList<ClaveString>)
abrirObjeto(dir_claves, false);
limpiarClaves();
cargarClaves(obj);
} catch (Exception e) {
generarClavesPorDefecto();
}
}
boolean x;
/**
* Creates new form Intro
*/
public Intro() {
initComponents();
setLocationRelativeTo(null);
setVisible(true);
x = true;
}
@SuppressWarnings("unchecked")
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE)
;
setUndecorated(true);
setType(java.awt.Window.Type.UTILITY);
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/imagenes/Imagen1.png")));
// NOI18N
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel2.setText("UNIVERSIDAD NACIONAL JOS FAUSTINO SNCHEZ
CARRIN");
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(138, 138, 138)
.addComponent(jLabel1)
.addContainerGap(138, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(60, Short.MAX_VALUE)
.addComponent(jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 286,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabel2,
javax.swing.GroupLayout.PREFERRED_SIZE, 43,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Intro.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Intro.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Intro.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Intro.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Intro().setVisible(true);
}
});
}
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private void mostrarPrograma() {
GUI x = new GUI();
this.dispose();
}
}
import Clases.ClaveString;
import java.awt.Image;
import java.awt.Toolkit;
import java.util.ArrayList;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.table.DefaultTableModel;
public class TablaNuevaPestania extends javax.swing.JFrame {
DefaultTableModel modelo;
GUI gui;
boolean _editable;
AdministrarClaves ventana;
ClaveString clave;
public TablaNuevaPestania(GUI gui, boolean editable) {
this.gui = gui;
this._editable = editable;
ventana = null;
this.clave = gui.getSelectedClave();
initComponents();
cargarInformacionDeGUI();
look();
setVisible(true);
setLocationRelativeTo(null);
}
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setIconImage(getIconImage());
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Matriz"))
;
jtblTabla.getColumnModel().getSelectionModel().setSelectionMode(javax.swi
ng.ListSelectionModel.SINGLE_INTERVAL_SELECTION);
jbtnmExportar.setText("Exportar");
jbtnmExportar.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnmExportarActionPerformed(evt);
}
});
jbtnmNuevo.setText("Nuevo");
jbtnmNuevo.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnmNuevoActionPerformed(evt);
}
});
jbtnmModificar.setText("Aplicar Cambios");
jbtnmModificar.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnmModificarActionPerformed(evt);
}
});
jbtnmCerrar.setText("Cerrar");
jbtnmCerrar.addActionListener(new java.awt.event.ActionListener()
{
jlblNombreClaveMatriz.setHorizontalAlignment(javax.swing.SwingConstants.C
ENTER);
jlblNombreClaveMatriz.setText("Convertir nmero decimal a
hexadecimal");
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addComponent(jlblNombreClaveMatriz,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING)
.addComponent(jScrollPane2)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jrbtnModificable,
javax.swing.GroupLayout.DEFAULT_SIZE, 208, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jbtnmNuevo,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtnmExportar,
javax.swing.GroupLayout.PREFERRED_SIZE, 116,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtnmModificar,
javax.swing.GroupLayout.PREFERRED_SIZE, 108,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbtnmCerrar,
javax.swing.GroupLayout.PREFERRED_SIZE, 115,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(jlblNombreClaveMatriz)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane2,
javax.swing.GroupLayout.PREFERRED_SIZE, 285,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Align
ment.BASELINE)
.addComponent(jbtnmExportar)
.addComponent(jbtnmNuevo)
.addComponent(jbtnmModificar)
.addComponent(jbtnmCerrar)
.addComponent(jrbtnModificable))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}
private void jbtnmNuevoActionPerformed(java.awt.event.ActionEvent
evt) {
}
}
private void jbtnmExportarActionPerformed(java.awt.event.ActionEvent
evt) {
ArrayList<ClaveString> clave = new ArrayList<ClaveString>();
clave.add(this.clave);
String arch = clave.get(0).getNombre() + ".cskey";
String ruta = gui.getRutaGuardar(new
FileNameExtensionFilter("Archivos cskey", "cskey"), arch);
if (!ruta.equals(arch)) {
gui.guardarObjeto(ruta, clave, "Clave guardada!");
}
}
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(TablaNuevaPestania.class.getName()).lo
g(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(TablaNuevaPestania.class.getName()).lo
g(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(TablaNuevaPestania.class.getName()).lo
g(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(TablaNuevaPestania.class.getName()).lo
g(java.util.logging.Level.SEVERE, null, ex);
}
}
private void cargarInformacionDeGUI() {
jlblNombreClaveMatriz.setText(clave.getNombre());//llenar el
jrbtnModificable.setSelected(clave.isModificable());
jrbtnModificable.setEnabled(clave.isModificable());
modelo = clave.getTableModel(_editable);
jtblTabla.setModel(modelo);
boolean editable = clave.isModificable();
jrbtnModificable.setSelected(editable);
jbtnmModificar.setEnabled(_editable);
jbtnmModificar.setEnabled((_editable?true:editable));
}
@Override
public Image getIconImage() {
Image retValue = Toolkit.getDefaultToolkit().
getImage(ClassLoader.getSystemResource("imagenes/hexa-50.png"));
return retValue;
}
}
import Clases.ClaveString;
import java.awt.Image;
import java.awt.Toolkit;
/**
* Creates new form elejirOpcion
*/
public elejirOpcion(GUI gui, boolean editable) {
this.gui = gui;
this._editable = editable;
_clave=gui.getSelectedClave();
initComponents();
look();
setLocationRelativeTo(null);
setVisible(true);
}
@SuppressWarnings("unchecked")
private void initComponents() {
jLabel2MouseClicked(evt);
}
});
jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel3.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/imagenes/icons8-Cerrar
ventana-25.png"))); // NOI18N
jLabel3.setText("Cerrar ");
jLabel3.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel3MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new
javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addComponent(jlblNombreClaveMatriz,
javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
.addComponent(jLabel1, 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)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jlblNombreClaveMatriz)
.addGap(18, 18, 18)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel2)
.addGap(11, 11, 11)
.addComponent(jLabel3)
.addContainerGap())
);
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {
TablaNuevaPestania _nuevaPestania = new
TablaNuevaPestania(gui,_editable);
_nuevaPestania.setVisible(true);
dispose();
}
private void jLabel2MouseClicked(java.awt.event.MouseEvent evt) {
gui.abrirTabla(true);
dispose();
}
private void jLabel3MouseClicked(java.awt.event.MouseEvent evt) {
dispose();
}
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel1;
private javax.swing.JLabel jlblNombreClaveMatriz;
private void look(){
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(elejirOpcion.class.getName()).log(java
.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(elejirOpcion.class.getName()).log(java
.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(elejirOpcion.class.getName()).log(java
.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(elejirOpcion.class.getName()).log(java
.util.logging.Level.SEVERE, null, ex);
}
}
@Override
public Image getIconImage() {
Image retValue = Toolkit.getDefaultToolkit().
getImage(ClassLoader.getSystemResource("imagenes/hexa-
50.png"));
return retValue;
}
}
XIII. BIBILIOGRAFIA
https://es.wikipedia.org/wiki/Sistema_binario
http://cryptomex.org/CursoCriptoTec/polybios.html
https://es.wikipedia.org/wiki/Sistema_octal
http://www.elcodigoascii.com.ar/
https://www.taringa.net/posts/info/950198/Codigos-ASCII-
caracteres-diferentes-simbolos.html
http://www.ite.educacion.es/formacion/materiales/47/cd/
mod1b/1bb_4.htm
http://www.grupoalquerque.es/ferias/2012/archivos/s-
n_nuevos/s-n_hexadecimal.pdf
http://www.disfrutalasmatematicas.com/numeros/binarios-
numeros-sistema.html
http://platea.pntic.mec.es/~lgonzale/tic/binarios/numeraci
on.html