Amigos,
Estou lendo o dia inteiro sobre SWING e estou com problemas pra entender.
É o seguinte, estou fazendo um programa que varre um diretório “x”, quando encontra um file ele lê o arquivo atrás de algumas evidências. (Essa parte está OK, dando um System.out.println vejo todas informações necessárias)
Mas agora to precisando montar uma tela simples com SWING para mostrar tudo isso. To tentando com o Netbeans que já é uma mão na Roda mas acho q to precisando de outra roda pra anda kkkkkkk. Até agora só consegui criar um botão que inicia meu metodo de pesquisa xD
Preciso de sugestões/dicas de como fazer isso.
Vou deixa aí o código que fiz para varrer e ler o arquivo atrás de evidencias.
[code]import java.awt.Component;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFileChooser;
public class Diretorio {
String pal[] = {"numberCode:" , "resourceCode:"};
String stringPosIgual;
String linha;
String subStringLinha;
double afterEqual;
int contador;
int posicaoIgual;
private static Component mainPanel;
public void find( ){
JFileChooser jFileChooser1 = new JFileChooser();
jFileChooser1.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = jFileChooser1.showDialog(mainPanel, null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
String entrada = jFileChooser1.getSelectedFile().getAbsolutePath();
varreDiretorio(entrada);
}
}
public void varreDiretorio(String entrada){
File diretorio = new File(entrada);
if (diretorio.isDirectory()){
File[] file = diretorio.listFiles();
for (File y : file ){
if(y.isFile()){
leArquivo(y);
}else if (y.isDirectory()){
String voltaEntrada = y.getPath();
varreDiretorio(voltaEntrada);
}
}
}
}
public void leArquivo(File entrada) {
try {
BufferedReader in = new BufferedReader(new FileReader(entrada));
System.out.println( "\n" + entrada + "\n");
for (int i = 1; (linha = in.readLine()) != null; i++ ){ //percorre arquivo
for (int j = 0; j < pal.length; j++){ // percorre array de String com as TAG
if (linha.contains(pal[j])){ // Verifica se a TAG existe no documento
int posicaoTag = linha.indexOf(pal[j]);//Pega índice da TAG
subStringLinha = (linha.substring(posicaoTag, linha.length()));//Nova String apartir da TAG
if(subStringLinha.contains("=")){
posicaoIgual = subStringLinha.lastIndexOf("=");
stringPosIgual = (subStringLinha.substring(posicaoIgual+1));
afterEqual = converteStringParaNumero(stringPosIgual);
if(afterEqual > 0){
contador++;
//System.out.println("linha: \t" + i + "\t TAG: \t" + pal[j]);
System.out.println("Numero Linha: " + i);
System.out.println("Linha: " + linha);
System.out.println("subStringLinha: " + subStringLinha);
System.out.println("stringPosIgual: " + stringPosIgual + "\n");
}
}
}
}
}
} catch (Exception e) {
System.err.println("Erro " + e.getMessage());
}
}
public double converteStringParaNumero(String string){
char[] chars = string.toCharArray();
List <String> stringList = new ArrayList <String>();
for (int i=0; (i< chars.length) && (Character.isDigit(chars[i])) ;i++)
stringList.add(chars[i]+"");
String finalStr = "";
for (String str : stringList) {
if (finalStr.isEmpty()) {
finalStr = str;
}else{
finalStr = finalStr + str;
}
}
double afterEqualDouble = Double.parseDouble(finalStr);
return afterEqualDouble;
}
}//Class[/code]
Não vou postar a classe do swing pq só tem um botão que chama o Método find()

