JAVA - Selecionar JCheckBox por intervalo de valores em uma JTextField

4 respostas
programaçãojava
T

Olá, Por gentileza, alguém poderia me ensinar como posso selecionar os JCheckBox referente as Filiais (Conforme imagem abaixo), com base no JTextField que está acima?

No caso, se a pessoa colocar de “4-10” e apertasse “TAB” ou “Enter” ele selecionaria automaticamente as CheckBox no intervalo pelo numero da filial

Desde já agradeço

4 Respostas

Marcio_Tostes

Timoteo_Seibel, bom dia.

Meu conhecimento em java é limitado, estudo programação a 2 anos, o que posso tentar te ajudar é sobre a lógica que utilizaria para fazer.

1ª - Eu criaria duas variáveis do tipo int para armazenar o valor do inicio e fim do intervalo, usando o método subString para extrair o valor do JtextField. Exemplo.:

int inicio = Integer.parseInt(JTextField.getText().substring(0));
int fim = Integer.parseInt(JTextField.getText().substring(0));

2ª - Dentro do seu JtextField basta inserir um evento, e depois manipular o código para selecionar os itens desejados.

T

Hmm, acho que entendi a lógica, vou ver o que consigo escrever e testar e posto o resultado aqui. Obrigado!

Marcio_Tostes

Blz, espero ter ajudado.

T

Consegui apenas selecionar os valores desejados, no caso ele só está imprimindo as filiais como texto, mas está buscando de forma correta. Ainda não consegui manipular o código pra selecionar os itens desejados, mas estou na pesquisa aqui pra conseguir

public void selecionar() {  
  String fil = TxtFilial.getText();
   
    if (fil.length() == 2) {
    String b = fil.substring(0,2);
    System.out.println(b);
    }
    
    if (fil.length() == 1) {
    String b = fil.substring(0,1);
    System.out.println(b);
    }
    
    if (fil.length() > 3) {
    String filial[] = fil.split("-");
    System.out.println(filial[0]);
    System.out.println(filial[1]);        
    }
    
    if (fil.length() == 3 || fil.length() > 5) {
    JOptionPane.showMessageDialog(null, "Filial Incorreta");         
    }     
}
Criado 27 de outubro de 2017
Ultima resposta 27 de out. de 2017
Respostas 4
Participantes 2