Estou trabalhando num projeto de jogo e preciso fazer um filtro.
Em um arquivo texto, são separadas palavras para ocupar o JCombobox de CATEGORIAS.
Agora estas palavras devem ser separadas não só por um NÍVEL (Fácil, Medio ou Dificil), mas também pelo conteúdo selecionado no JCombobox que são as categorias (Informática, Animais domésticos, etc).
O contéudo do arquivo de texto (.txt)
NOTEBOOK#Informática #PC de colo #Computador portátil #Tem as mesmas características de um PC #1
PENTIUM #Informática #É um processador #É da Intel#Famoso pela velocidade#2
WINDOWS #Informática #Sistema Operacional#Soft mais piratado#Tela azul #1
ANDROID #Informática #Sis.Op. comum hoje#Usado em celulares#Baseado em Java#2
Código para contar os níveis e separar as categorias
public void ContarNiveis() throws FileNotFoundException {
qtdeNiveis = 0;
facil = 0;
medio = 0;
dificil = 0;
FileReader leitor = new FileReader(ArquivoDePalavras);
try (BufferedReader leitorBuf = new BufferedReader(leitor)) {
NivelArquivo.clear(); //limpa o temporaio que aramzena o nível
String linha = null; //prepara para as leituras do arquivo
while ((linha = leitorBuf.readLine()) != null) {//ler até o final do arquivo
String colunas[] = linha.split("#"); //lê uma linha do arquivo
Object[] filtro = ComboCategoria.getSelectedObjects();
NivelArquivo.add(colunas[5]); //coloca o 'split' na coluna 5
switch ( Integer.parseInt((String) NivelArquivo.get(qtdeNiveis)) ) {
case 1:
facil++;
break;
case 2:
medio++;
break;
case 3:
dificil++;
break;
default:
break;
}
lblFacil.setText(Integer.toString(facil));
lblMedio.setText(Integer.toString(medio));
lblDificil.setText(Integer.toString(dificil));
qtdeNiveis++;
}
Tela
- Alí onde lemos Todas é o
JComboboxcom as categorias (5) - Ao lado os botões de nível (Fácil, Médio e Difícil).
Exemplo: quero que mostre quantas palavras há SÓ na categoria INFORMÁTICA.

