Você está aqui: Java ::: Classes e Componentes ::: JList |
Entendendo a classe JListQuantidade de visualizações: 11436 vezes |
A classe JList representa um componente GUI do tipo lista no qual o usuário pode selecionar um ou mais itens. Veja a posição desta classe na hierarquia de classes da linguagem Java: java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JList Uma JList possui dois modelos (models): ListModel, que gerencia os dados na lista, e ListSelectionModel, que lida com a seleção de itens (três modos diferentes de seleção são suportados). A JList também suporta renderização customizada, por meio da implementação da interface ListCellRenderer. Podemos usar uma implementação padrão de ListCellRenderer (DefaultListCellRenderer) ou criar nossa própria implementação. O renderizador padrão exibe os itens da lista como uma String definida no método toString do objeto. A única exceção são as implementações de Icon, que serão exibidos da mesma forma que acontece em uma JLabel. Tenha em mente que um ListCellRenderer retorna um Component, mas este componente não é interativo e é usado somente para fins de exibição. Por exemplo, se uma JCheckBox for usada como renderizador, você não será capaz de marcá-la ou desmarcá-la. Ao contrário de JComboBox, uma JList não suporta edição de seus itens. |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Árvores Binárias e Árvores Binárias de Busca |
Exercícios Resolvidos de Java - Como pesquisar um valor em uma árvore binária de busca usando uma função recursivaQuantidade de visualizações: 4107 vezes |
Pergunta/Tarefa: Escreva uma função recursiva em Java que permite pesquisar um valor em uma árvore binária de busca (BST). Se o valor for encontrado, uma referência ao nó da árvore (um objeto da classe NoArvore, por exemplo) deverá ser retornado. Caso contrário, o valor null deverá ser retornado para indicar que não há nós na árvore contendo tal valor. Sua saída deverá ser parecida com: Informe um valor inteiro: 7 Informe um valor inteiro: 1 Informe um valor inteiro: 8 Informe um valor inteiro: 10 Informe um valor inteiro: 4 Informe o valor a ser pesquisado: 3 O valor não foi encontrado na árvore Informe um valor inteiro: 8 Informe um valor inteiro: 2 Informe um valor inteiro: 35 Informe um valor inteiro: 4 Informe um valor inteiro: 7 Informe o valor a ser pesquisado: 4 O valor foi encontrado na árvore Veja a resolução comentada deste exercício usando Java: Código para NoArvore.java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; public class NoArvore { int valor; // valor armazenado no nó NoArvore esquerdo; // filho esquerdo NoArvore direito; // filho direito // construtor do nó public NoArvore(int valor){ this.valor = valor; } } Código para ArvoreBinariaBusca.java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; public class ArvoreBinariaBusca { private NoArvore raiz; // referência para a raiz da árvore // método usado para inserir um novo nó na árvore // retorna true se o nó for inserido com sucesso e false // se o elemento // não puder ser inserido (no caso de já existir um // elemento igual) public boolean inserir(int valor){ // a árvore ainda está vazia? if(raiz == null){ // vamos criar o primeiro nó e definí-lo como a raiz da árvore raiz = new NoArvore(valor); // cria um novo nó } else{ // localiza o nó pai NoArvore pai = null; NoArvore noAtual = raiz; // começa a busca pela raiz // enquanto o nó atual for diferente de null while(noAtual != null){ if(valor < noAtual.valor) { pai = noAtual; noAtual = noAtual.esquerdo; } else if(valor > noAtual.valor){ pai = noAtual; noAtual = noAtual.direito; } else{ return false; // um nó com este valor foi encontrado } } // cria o novo nó e o adiciona ao nó pai if(valor < pai.valor){ pai.esquerdo = new NoArvore(valor); } else{ pai.direito = new NoArvore(valor); } } return true; // retorna true para indicar que o novo nó // foi inserido } // método que permite pesquisar na árvore binária de busca public NoArvore pesquisar(int valor){ return pesquisar(raiz, valor); // chama a versão recursiva // do método } // sobrecarga do método pesquisar que recebe dois // parâmetros (esta é a versão recursiva do método) private NoArvore pesquisar(NoArvore noAtual, int valor){ // o valor pesquisado não foi encontrado....vamos retornar null if(noAtual == null){ return null; } // o valor pesquisado foi encontrado? if(valor == noAtual.valor){ return noAtual; // retorna o nó atual } // ainda não encontramos...vamos disparar uma nova // chamada para a sub-árvore da esquerda else if(valor < noAtual.valor){ return pesquisar(noAtual.esquerdo, valor); } // ainda não encontramos...vamos disparar uma nova // chamada para a sub-árvore da direita else{ return pesquisar(noAtual.direito, valor); } } } E aqui está o código para a classe que permite testar a árvore: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos criar um novo objeto da classe ArvoreBinariaBusca ArvoreBinariaBusca arvore = new ArvoreBinariaBusca(); // vamos inserir 5 valores na árvore for(int i = 0; i < 5; i++){ System.out.print("Informe um valor inteiro: "); int valor = Integer.parseInt(entrada.nextLine()); // vamos inserir o nó e verificar o sucesso da operação if(!arvore.inserir(valor)){ System.out.println("Erro. Um elemento já contém este valor."); } } // vamos pesquisar um valor na árvore System.out.print("\nInforme o valor a ser pesquisado: "); int valorPesquisa = Integer.parseInt(entrada.nextLine()); // obtém um objeto da classe NoArvore a partir do // método pesquisar() da classe ArvoreBinariaBusca NoArvore res = arvore.pesquisar(valorPesquisa); // o valor foi encontrado? if(res != null){ System.out.println("O valor foi encontrado na árvore"); } else{ System.out.println("O valor não foi encontrado na árvore"); } System.out.println("\n"); } } |
Java ::: Dicas & Truques ::: Data e Hora |
Como exibir a data e hora atual na linguagem Java usando um objeto Date e seu método toString()Quantidade de visualizações: 49 vezes |
Nesta dica mostrarei como criar um novo objeto da classe Date, do pacote java.util, e usar seu método toString() para exibir a data e hora atual no formato "dia da semana/mês/dia do mês"...etc. Veja o código completo abaixo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.util.Date; public class Exemplo{ public static void main(String args[]){ Date data = new Date(); System.out.println(data.toString()); } } Ao executar este código nós teremos o seguinte resultado: Mon Mar 08 22:13:15 BRT 2019 |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como remover todos os espaços de uma string usando o método replace() da classe String da linguagem JavaQuantidade de visualizações: 1 vezes |
Nesta dica mostrarei como usar o método replace() da classe String do Java para remover todos os espaços de uma frase ou texto, tanto no início, fim e no meio. Note que esta dica remove TODOS os espaços, não somente os espaço excessivos. Para isso veja outras dicas dessa seção. Veja o código Java completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String[] args){ String frase = "Programar em Java é muito bom"; System.out.println("Com espaços: " + frase); frase = frase.replace(" ", ""); System.out.println("Sem espaços: " + frase); System.exit(0); } } Ao executar este código nós teremos o seguinte resultado: Com espaços: Programar em Java é muito bom Sem espaços: ProgramaremJavaémuitobom |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ano: 2023 Banca: ACCESS Órgão: Prefeitura de Dores do Indaiá - MG Prova: ACCESS - 2023 - Prefeitura de Dores do Indaiá - MG - Agente Fiscal Com base no universo da ética, analise as afirmativas a seguir: I. A ética depende dos valores que a pessoa carrega, e pode, assim, ser adaptável às situações em que vive, dependendo dos seus interesses e carga cultural. II. O estudo da ética demonstra que a consciência moral nos inclina para o caminho da virtude, que seria uma qualidade própria da natureza humana. III. Um homem para ser ético precisa necessariamente ser virtuoso, ou seja, praticar o bem usando a liberdade com responsabilidade constantemente. Assinale A) se apenas as afirmativas I e II estiverem corretas. B) se apenas as afirmativas I e III estiverem corretas. C) se apenas as afirmativas II e III estiverem corretas. D) se todas as afirmativas estiverem corretas. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Número de Reynolds O parâmetro que determina se o regime de escoamento de um fluido é laminar ou turbulento recebe o nome de "número de Reynolds". Nesse contexto, analise as seguintes afirmativas com (V) para as verdadeiras e (F) para as falsas. ( ) I. Quando Re ≤ Re,Crítico , o escoamento é considerado turbulento. ( ) II. O escoamento turbulento é caracterizado por camadas paralelas. ( ) III. O escoamento turbulento é aquele em que as partículas do fluido se misturam rapidamente enquanto se movimentam. ( ) IV. O número de Reynolds pode ser calculado pela equação: Re = γ × g × V. ( ) V. Para tubos com paredes lisas, Re,Crítico = 40.000. Marque a alternativa com a ordem correta. A) V, F, F, V, F. B) V, F, V, F, F. C) F, F, V, F, V. D) F, V, F, V, V. E) V, V, V, F, F. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Raio Hidráulico Qual é o raio hidráulico em um canal de seção retangular com 2,00 m de largura por 1,20 m de altura? Considere que este canal está preenchido com 1/3 de água da sua capacidade. A) 0,10 m B) 0,29 m C) 0,19 m D) 2,29 m E) 0,39 m Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Locação da obra Quais equipamentos são considerados de grande importância para a locação de uma obra? A) Colher de pedreiro, óculos de proteção, protetor auricular e luvas. B) Trena de plástico, capacete, cimento e calculadora digital. C) Colher de pedreiro, trena de plástico e régua metálica. D) Régua metálica, teodolito e trena de plástico. E) Teodolito, nível de mangueira, trena metálica, linha de náilon e prumo. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual declaração de variável vai provocar um erro em Python? A) minhaNota = 4.65 B) minha_nota = 4.65 C) Minha_nota = 4.65 D) minha-nota = 4.65 E) MinhaNota = 4.65 Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Java - Estruturas de Dados em Java - Como inserir nós no final de uma lista singularmente ligada em Java |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |