Como lo puedes hacer es agregando a tu progressbar un ChangeListener con addChangeListener. Este Listener tiene el método stateChanged(ChangeEvent) que es llamado cada vez que se cambia el valor de la barra de progreso!
Quedaria algo así:
progressbar.addChangeListener(new ChangeListener(){
@Override
public void stateChanged(ChangeEvent ce) {
//Aquí el new o el setVisible como quieras!
}
});
Por cierto! dentro del listener deberias poner un if con:
if(progressbar.getValue()==progressbar.getMaximum())
//new o setVisible
package Splash;
import java.awt.Color;
public class Principal extends javax.swing.JFrame {
HiloProgreso hilo;
public Principal() {
//Método por defecto
initComponents();
iniciarSplash();
//Creamos un objeto HiloProgreso al cual
//le pasamos por parámetro la barra de progreso
hilo = new HiloProgreso(progreso);
//Iniciamos el Hilo
hilo.start();
//Le damos tamaño y posición a nuestro Frame
this.setLocation(200, 200);
this.setSize(472, 249);
//Liberamos recursos
hilo = null;
}
public void iniciarSplash() {
this.getjProgressBar1().setBorderPainted(true);
this.getjProgressBar1().setForeground(new Color(50, 50, 153, 100));
this.getjProgressBar1().setStringPainted(true);
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
progreso = new javax.swing.JProgressBar();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
jPanel1.setLayout(new java.awt.BorderLayout());
jPanel1.add(progreso, java.awt.BorderLayout.CENTER);
getContentPane().add(jPanel1, java.awt.BorderLayout.PAGE_END);
jPanel2.setLayout(new java.awt.BorderLayout());
jLabel1.setIcon(new javax.swing.ImageIcon("C:\\Users\\Jose\\Desktop\\FONDOS 3D\\wallpapers\\wallpapers\\ferrari_458_italia_hd_wide-wide.jpg")); // NOI18N
jPanel2.add(jLabel1, java.awt.BorderLayout.CENTER);
getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER);
pack();
}// </editor-fold>
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Principal().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JProgressBar progreso;
// End of variables declaration
public javax.swing.JProgressBar getjProgressBar1() {
return progreso;
}
}
este es el codigo y kisiera saber donde puedo poner el codigo para que despues que jprogyues bar cargue al 100% me habra la siguiente ventana donde iria ese codigo gracias de antemano