
Para este nuevo post estaremos utilizando el ejemplo de Acceso Simple del post pasado para dos propósitos:
- Inyección SQL: La inyección de SQL es una vulnerabilidad informática en el nivel de validación de las entradas a la base de datos en una aplicación. Esta vulnerabilidad debe de ser tomada en cuenta por todos los programadores para ser prevenida. En los sitemas de información la seguridad es un requisito base y si un usuario malintencionado puede ingresar parámetros para afectar la integridad de nuestros datos o borrarlos definitivamos, nuestro software es pobre y deficiente.
- Splash Screen: Es una imagen que aparece al mismo tiempo que el programa se esta "cargando". En este ejemplo simplemente nos dará una presentación al programa en el que estamos trabajando aunque se pueden agregar diferentes componentes para programas muy grandes donde si hay que llevar un tiempo de espera en lo que se carga. Existe también ya una clase hecha para Java en java.awt.SplashScreen que nos podría servir para el mismo propósito.

Con este pequeño ejemplo, no sólo le damos funcionalidad a un programa ya hecho, sino agregamos una capa de seguridad a nuestro código y una presentación para el usuario final.
Cualquier duda, será contestada a la brevedad posible.
Saludos!
Splash Screen y SQL Injection en Java from Cezar Cavazos on Vimeo.

Sería Bueno que implementaras un Progress Bar en tu Splash Screen, ya que en todos los foros que he visto, ninguno lo implementa bien.Espero me puedas ayudar en esto.
ResponderEliminarHice tu ejemplo...
Mi Clase (Splash.java):
==========================================
package SplashScreen;
import java.awt.*;
import javax.swing.*;
public class Splash extends JWindow{
//constructor
public Splash (int time){
ImageIcon ii= new ImageIcon(getClass().getResource("/SplashScreen/Fondo_Pass.jpg"));
//ImageIcon ii= new ImageIcon("C:/Users/Argiva Nero/Desktop/Fondo_Pass.jpg");
JScrollPane jsp= new JScrollPane(new JLabel(ii));
getContentPane().add(jsp);
setSize(500,360);
CentrarPantalla();
setVisible (true);
if (time !=0){
try{
Thread.sleep(time);
dispose();
}catch (Exception e)
{e.printStackTrace();
}
}
}
private void CentrarPantalla(){
Dimension d= Toolkit.getDefaultToolkit().getScreenSize();
int x = (int) ((d.getWidth() - d.getWidth())/2);
int y = (int) ((d.getHeight() - d.getHeight())/2);
setLocation(x,y);
}
}
=============================
Hice un JFrame como pantalla principal llamado "Principal"
package SplashScreen;
public class Principal extends javax.swing.JFrame {
/** Creates new form Principal */
public Principal() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("estás en principal");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(157, Short.MAX_VALUE)
.addComponent(jLabel1)
.addGap(160, 160, 160))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(64, 64, 64)
.addComponent(jLabel1)
.addContainerGap(222, Short.MAX_VALUE))
);
pack();
}//
/**
* @param args the command line arguments
*/
private static int tiempo= 1500;
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Splash ss= new Splash (tiempo);
new Principal().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
// End of variables declaration
}
y el Splash no me aparece, si no que se espera un ratito y luego sólo me manda mi ventana principal.
Ayuda Pliz!