Você está aqui: Java ::: Coleções (Collections) ::: Passos Iniciais |
Saiba mais sobre a Java Collections FrameworkQuantidade de visualizações: 13598 vezes |
A Java Collections Framework é um conjunto de interfaces e classes nos pacotes java.util e java.util.concurrent. Estas interfaces e classes fornecem várias formas de organizar objetos. Isso é feito por meio de diferentes implementações de cada modelo. Estes modelos são chamados, às vezes, de tipos abstratos de dados (abstract data types), e precisamos deles porque diferentes programas precisam de diferentes formas de organizar seus objetos. Em algumas situações poderemos querer organizar os objetos de nossos programas em uma lista sequencial porque sua ordenação é importante e há duplicações. Em outras, um conjunto (set) pode ser a escolha correta para o tipo de dados se a ordenação não for importante e duplicações não puderem ser aceitas. Estes dois tipos de dados (lista e set), e outros, são representados por diferentes implementações na Collections Framework. Um ponto importante sobre coleções, é que não há "ótimas" implementações para todas as operações. Por exemplo, uma lista ligada é melhor que todas as outras implementações de listas baseadas em array quando o assunto é inserir e remover elementos no início ou fim da lista. Contudo, o acesso aleatório a um elemento da lista ligada pode ser dispendioso. Assim, a escolha da implementação correta para seu programa envolve analisar profundamente seu funcionamento e só então verificar as implementações disponíveis. |
![]() |
Java ::: Classes e Componentes ::: JTable |
Java Swing Avançado - Como exibir imagens nas células de uma JTable em suas aplicações Java SwingQuantidade de visualizações: 14933 vezes |
Nesta dica mostrarei como criar uma classe personalizada que estende a classe JLabel e implementa a interface TableCellRenderer. O objetivo é fornecer esta JLabel ao método setCellRenderer() de uma das colunas da JTable e exibir uma imagem ou foto ao lado do conteúdo da célula. Veja o resultado da figura abaixo: ![]() E aqui está o código Java Swing 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; import javax.swing.*; import java.awt.*; import javax.swing.table.*; public class Estudos extends JFrame{ public Estudos(){ super("Exemplo de uma tabela simples"); // colunas da tabela String[] colunas = {"Nome", "Idade", "Sexo"}; // conteúdo da tabela Object[][] conteudo = { {"Osmar J. Silva", "32", "Masculino"}, {"Maria Clara Gomes", "19", "Feminino"}, {"Fernando Gomes", "15", "Masculino"}, {"Carlos Vieira", "40", "Masculino"} }; // constrói a tabela JTable tabela = new JTable(conteudo, colunas); // quero exibir imagens ao lado do texto da primeira coluna TableCellRenderer tcr = new Imagem(); TableColumn column = tabela.getColumnModel().getColumn(0); column.setCellRenderer(tcr); tabela.setPreferredScrollableViewportSize(new Dimension(350, 50)); Container c = getContentPane(); c.setLayout(new FlowLayout()); JScrollPane scrollPane = new JScrollPane(tabela); c.add(scrollPane); setSize(400, 300); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class Imagem extends JLabel implements TableCellRenderer{ public Imagem(){ setOpaque(true); } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){ Icon imagem = new ImageIcon("C:\\estudos_java\\icon.gif"); // certifique-se da existencia da imagem "icon.gif" antes de executar if(isSelected) setBackground(table.getSelectionBackground()); else setBackground(table.getBackground()); setIcon(imagem); setText(value.toString()); return this; } public void validate() {} public void revalidate() {} protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {} public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) {} } |
Java ::: Coleções (Collections) ::: ArrayList |
Como obter o índice da primeira ocorrência de um elemento no ArrayList do Java usando o método indexOf()Quantidade de visualizações: 12370 vezes |
Este exemplo mostra como usar o método indexOf() para obter o índice da primeira ocorrência de um item na ArrayList. Se o ítem não for encontrado, o valor retornado é -1. Veja o código completo para a dica: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.ArrayList; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<String>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); nomes.add("Maria"); // obtém o índice da primeira ocorrência do // nome "Maria" int indice = nomes.indexOf("Maria"); System.out.println("O índice do nome pesquisado é: " + indice); System.exit(0); } } Ao executar este código nós teremos o seguinte resultado: O índice do nome pesquisado é: 1 |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Java para iniciantes - Como usar o tipo de dados byte da linguagem JavaQuantidade de visualizações: 12506 vezes |
O tipo de dados byte pode ser usado quando queremos armazenar valores inteiros na faixa ?128 à 127. Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ static byte valor = 102; public static void main(String args[]){ System.out.println("O valor da variável é: " + valor); System.exit(0); } } Porém, é preciso estar atento a um detalhe muito importante (testado na versão 6 do SDK). Veja o trecho de código seguinte: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ public static void main(String args[]){ byte a = 5; byte b = 6; byte soma = a + b; System.out.println("O resultado é: " + soma); System.exit(0); } } À primeira vista este código está correto, visto que a soma das variáveis a e b não ultrapassam a faixa do tipo byte. Porém, ao tentarmos compilar, temos a seguinte mensagem de erro: Estudos.java:5: possible loss of precision found : int required: byte byte soma = a + b; ^ 1 error Isso acontece porque o tipo de dados resultante da aplicação do operador de adição (e demais operadores binários) a dois números, é no mínimo int. Podemos, é claro, fazer uma coerção de dados (cast). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- byte a = 5; byte b = 6; byte soma = (byte)(a + b); O tipo de dados byte pode ser convertido (sem a necessidade de cast) para os seguintes tipos: byte -> short -> int -> long -> float -> double Um tipo byte não pode ser convertido implicitamente para o tipo char. Isso acontece porque o tipo char não possui sinal. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() 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 |
![]() 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 |