Funcionando …
-
Basta criar seu .BAT ou .SH
-
A LINHA QUE EXECUTA O COMANDO DOS OU SHELL, ESPERA QUE O PROCESSAMENTO SEJA TERMINADO
PARA INICIAR OUTRO .BAT.
-
TESTEI NO WINDOWS XP, FAZ UM TESTE AI E ME FALA
-
NAO ESQUECE DE COLOCAR A "Imagens/logo1.jpg" NA PASTA.
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import java.awt.Color;
import java.awt.Frame;
import java.awt.BorderLayout;
import javax.swing.JWindow;
import javax.swing.*;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.io.File;
import java.io.;
import java.text.;
import javax.swing.*;
public class Processar extends JWindow {
private JProgressBar barra =new JProgressBar(0,100);
private javax.swing.JPanel Painel;
private javax.swing.JLabel jLabel1;
private javax.swing.JProgressBar Barra2;
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 jLabelg;
public boolean arquivosok = false;
public java.sql.Connection conex;
public String usux="";
public String senx="";
public String dptox="";
public String servw = "ubuntu";
public Processar() {
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0, 0, screenSize.width, screenSize.height-23);
Painel = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
barra = new javax.swing.JProgressBar();
Barra2 = new javax.swing.JProgressBar();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabelg = new javax.swing.JLabel();
Painel.setLayout(null);
Painel.setBackground(java.awt.Color.black);
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("Imagens/logo1.jpg")));
Painel.add(jLabel1);
jLabel1.setBounds(31, 50, 290, 240);
Painel.add(barra);
barra.setBounds(30, 300, 290, 16);
barra.setMaximum(100);
barra.setStringPainted(true);
Painel.add(Barra2);
Barra2.setBounds(30, 20, 290, 16);
jLabel2.setFont(new java.awt.Font("Arial", 0, 16));
jLabel2.setText("Ola, O Sistema esta verificando");
jLabel2.setForeground(Color.white);
Painel.add(jLabel2);
jLabel2.setBounds(350, 50, 390, 20);
jLabel3.setFont(new java.awt.Font("Arial", 0, 16));
jLabel3.setText("se existe atualizações.");
jLabel3.setForeground(Color.white);
Painel.add(jLabel3);
jLabel3.setBounds(350, 70, 290, 20);
jLabel4.setFont(new java.awt.Font("Arial", 0, 16));
jLabel4.setText("");
jLabel4.setForeground(Color.white);
Painel.add(jLabel4);
jLabel4.setBounds(350, 90, 290, 20);
jLabel5.setFont(new java.awt.Font("Arial", 0, 16));
jLabel5.setText("");
jLabel5.setForeground(Color.white);
Painel.add(jLabel5);
jLabel5.setBounds(350, 110, 290, 20);
jLabel6.setFont(new java.awt.Font("Arial", 0, 16));
jLabel6.setText("Bom trabalho !!!.");
jLabel6.setForeground(Color.white);
Painel.add(jLabel6);
jLabel6.setBounds(350, 130, 290, 20);
jLabelg.setFont(new java.awt.Font("Arial", 0, 16));
jLabelg.setText("Espere um momento, por favor !!!");
jLabelg.setForeground(Color.white);
Painel.add(jLabelg);
jLabelg.setBounds(30, 460, 700, 20);
getContentPane().add(Painel);
}
public void Progressao() {
Thread cont = new Thread();
int num=0;
Barra2.setStringPainted(true);
Barra2.setIndeterminate(true);
Barra2.setMaximum(100);
try{
while (num<100){
barra.setValue(num);
Barra2.setValue(num);
//------ os arquivos .bat devem estar na pasta do .jar ---------
if (num == 27 ) VerAtualizacao();
String msgw = "A copia foi realizada, com sucesso ! ...";
if (arquivosok == true) {
if (num == 31 ) {
jLabel4.setText("Verificando ... Aguarde !");
jLabel5.setText("Primeiro processamento ...");
// NAO UTILIZAR ESTA LINHA -> Runtime.getRuntime().exec("cmd.exe /c start "" "Processo1.bat"");
//----------------------------------
String retorno= new String("");
Runtime rt = Runtime.getRuntime();
Process prcs = rt.exec("Processo1.bat"); //Executa o comando no shell ou DOS
InputStreamReader isr = new InputStreamReader(prcs.getInputStream());
BufferedReader br = new BufferedReader(isr);
String line;
//Le a resposta do comando linha por linha.
while ((line = br.readLine()) != null)
retorno += line + "\n";
//----------------------------------
}
if (num == 34 ) {
jLabel5.setText("Segundo processamento ...");
//----------------------------------
String retorno= new String("");
Runtime rt = Runtime.getRuntime();
Process prcs = rt.exec("Processo2.bat"); //Executa o comando no shell ou DOS
InputStreamReader isr = new InputStreamReader(prcs.getInputStream());
BufferedReader br = new BufferedReader(isr);
String line;
//Le a resposta do comando linha por linha.
while ((line = br.readLine()) != null)
retorno += line + "\n";
//----------------------------------
}
if (num == 39 ) {
jLabel5.setText("Terceiro processamento ...");
// Runtime.getRuntime().exec("cmd.exe /c start "" "Processo3.bat"");
}
if (num == 45 ) {
jLabel5.setText("Quarto processamento ...");
}
if (num == 64 ) {
jLabel5.setText("Quase pronto !...");
}
if (num == 65 ) {
jLabel4.setText("Concluindo ...");
jLabel5.setText("Limpando temporarios ...");
/* File f1 = new File( "Processo1.BAT" );
f1.delete();
File f2 = new File( "Processo2.BAT" );
f2.delete();
*/ }
} else { msgw = "A copia nao foi realizada ! ..."; } // --------- arquivos ok
if (num == 71 ) {
jLabel2.setText("Finalizando .... ");
jLabel3.setText("Obrigado por esperar.... ");
jLabelg.setText(msgw);
}
if (num == 96 ) jLabelg.setText("Tchau !!!");
jLabel6.setBounds(350, 300-num, 290, 20); //(350, 130, 290, 20);
cont.sleep(40);
num++;
}
}
catch(Exception B){
}
finally{ // System.out.print("Acabou o programa");
this.dispose();
// Chamar_outroform op01 = new Chamar_outroform(conex, servw);
}
}
public static void main(String[] args) {
Processar form=new Processar();
form.setVisible(true);
form.Progressao();
}
private void VerAtualizacao() {
arquivosok = true;
jLabelg.setText("Iniciando o processamento, aguarde !!!");
//-------- onde vai salvar -----------
String caminhow = "C:/";
//-------- banco de dados ------------
lertxt pegaserv = new lertxt("LP/serv.txt");
String servw = pegaserv.lerArquivotexto();
if (servw.length() < 6) {
JOptionPane.showMessageDialog(null, "Falta informar o Banco de dados "+servw, "Informativo",
JOptionPane.INFORMATION_MESSAGE);
arquivosok = false;
}
//--------- verifica se existe o arquivo nesta pasta
File p1w = new File(caminhow+"processo1.bat");
if (!p1w.exists()){
JOptionPane.showMessageDialog(null,
"O arquivo "+p1w+" não foi encontrado !!\nVerifique o motivo, por favor …", "Informativo",
JOptionPane.INFORMATION_MESSAGE);
arquivosok = false;
}
File p2w = new File(caminhow+"processo2.bat");
if (!p2w.exists()){
JOptionPane.showMessageDialog(null,
"O arquivo "+p2w+" não foi encontrado !!\nVerifique o motivo, por favor ...", "Informativo",
JOptionPane.INFORMATION_MESSAGE);
arquivosok = false;
}
} // fim teste
} // FIM DA CLASSE
T+++++