me podrían ayudar tengo problemas con mi login y splash screen, este ultimo ejecuta y me lleva al programa principal pero si no ingreso la contraseña y usuario no me deja utilizar las funciones del programa aquí les dejo el código:
Código:
package ventanas;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.ImageIcon;
/**
*
* @author anthony
*/
public class splash extends javax.swing.JPanel {
ImageIcon imagen; // imagen para mostrar
BorderLayout esquema;
/**
* Creates new form splash
*/
public splash() {
initComponents();
estados.setForeground(Color.red);
imagen = new ImageIcon(getClass().getResource("/resources/imagenes/sapam1.png")); // se obtiene la imagen
this.setSize(imagen.getIconWidth(), imagen.getIconHeight()); // se establece el tamaño del panel
// mediante la dimencion de la imagen ancho y alto
}
@Override
public void paintComponent(Graphics g){ // metodo paintComponent para dibujar la imagen
super.paintComponent(g); // para que el panel se despligue sin errores
g.drawImage(imagen.getImage(), 0, 0, imagen.getIconWidth(), imagen.getIconHeight(), this); // se dibuja la imagen
this.setOpaque(false); // se establece el panel transparente para que se pueda ver la imagen
}
public void velocidadDeCarga() throws InterruptedException{ // motodo para controlar la barra
for(int i = 0; i<=100; i++){ // establece el recorrido de la barra de progreso
Thread.sleep(45); // pausas para dar el efecto de carga
progreso.setForeground(Color.GREEN); // color de la barra de progreso
progreso.setValue(i); // se asigna el valor de la barra
if (i == 35) {
estados.setText("jcalendar - 1.4.jar");
}
if (i == 55) {
estados.setText("jxl.jar");
}
if (i == 70) {
estados.setText("JDK 1.7");
}
if (i == 95) {
estados.setText("Finalizando Carga....");
}
}
}
/**
* 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")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
progreso = new javax.swing.JProgressBar();
estados = new javax.swing.JLabel();
progreso.setPreferredSize(new java.awt.Dimension(146, 14));
progreso.setStringPainted(true);
estados.setText("Cargando modulos");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(estados)
.addContainerGap(356, Short.MAX_VALUE))
.addComponent(progreso, javax.swing.GroupLayout.DEFAULT_SIZE, 455, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(264, Short.MAX_VALUE)
.addComponent(estados)
.addGap(36, 36, 36)
.addComponent(progreso, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JLabel estados;
private javax.swing.JProgressBar progreso;
// End of variables declaration
}
Código:
package ventanas;
import java.awt.BorderLayout;
import javax.swing.JWindow;
import javax.swing.UIManager;
public class RunSplash extends JWindow{
splash p; // clase Panel, la que nos creamos
//para cargar la otra ventana
/** Creates new form RunSplash
* @throws InterruptedException */
public RunSplash() throws InterruptedException{ // constructor
p = new splash(); // se crea el objeto Panel
MainApp ventana = new MainApp();//creamos la ventana
ventana.setLocationRelativeTo(null);
this.add(p, BorderLayout.CENTER); // se añade el panel en el centro
this.setSize(p.getWidth(), p.getHeight());// se establece el tamaño del RunSplash
// ahora y lo mas importante se quita toda()+75 la decoracion de la ventana
//marco, botones minimizar, cerrar con el metodo setUndecorated(true)
//para dar el efecto de que solo se muestra la imagen con la barra...
this.setLocationRelativeTo(null);// se muestra el splash en el centro
setVisible(true); // se visualiza el Splash Screen
p.velocidadDeCarga();//se invoca al metodo velocidadDeCarga de la clase Panel
//para establecer el recorrido de la barra
this.dispose();// se cierra el Splash cuando termina el recorrido de la barra
ventana.setVisible(true);
/**********************
* Aqui pueden llamar a la ventana pricipal de sus aplicaciones
* y asi esto dará presencia a sus aplicaciones
*/
}
public static void main(String args[]) throws InterruptedException {
new RunSplash(); // se invoca a la ventana RunSplash
}
}