Você está aqui: Java ::: Pacote java.awt.event ::: KeyEvent |
Java Swing - Como detectar as teclas Insert ou Delete usando o método getKeyCode() da classe KeyEvent do JavaQuantidade de visualizações: 3129 vezes |
Em algumas situações nós precisamos detectar o pressionamento das teclas Insert ou Delete. Para isso podemos usar o método getKeyCode() da classe KeyEvent e testar se o código equivale a uma das constantes KeyEvent.VK_INSERT (Ins) ou KeyEvent.VK_DELETE (Del). Veja um trecho de código no qual testamos se alguma destas duas teclas foi pressionada: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JOptionPane; public class Janela extends JFrame implements KeyListener{ public Janela(){ super("Eventos do Teclado"); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.LEFT); c.setLayout(layout); // vamos adicionar o objeto listener addKeyListener(this); setSize(350, 250); setVisible(true); } @Override public void keyPressed(KeyEvent e){ // a tecla Insert foi pressionada? if(e.getKeyCode() == KeyEvent.VK_INSERT){ JOptionPane.showMessageDialog(null, "A tecla Insert foi pressionada"); } // a tecla Enter Delete pressionada? else if(e.getKeyCode() == KeyEvent.VK_DELETE){ JOptionPane.showMessageDialog(null, "A tecla Delete foi pressionada"); } else{ JOptionPane.showMessageDialog(null, "Outra tecla foi pressionada"); } } @Override public void keyReleased(KeyEvent e){ // sem implementação } @Override public void keyTyped(KeyEvent e){ // sem implementação } public static void main(String args[]){ Janela j = new Janela(); j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } É importante observar que as teclas Insert e Delete podem ser detectadas somente nos eventos keyPressed e keyReleased. |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como usar o método charAt() da classe String para obter o caractere em uma determinada posição de uma frase ou texto - RevisadoQuantidade de visualizações: 51 vezes |
Em várias situações, principalmente quando estamos trabalhando com palavras e textos em Java, surge a necessidade de acessarmos as letras individuais de strings. Para isso podemos usar o método charAt() da classe String. Este método recebe um inteiro indicando o índice do caractere na String. Lembre-se de que os índices começam sempre em 0 em Java. O retorno do método charAt() é um char. 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{ public static void main(String[] args){ String frase = "Programar em Java é muito bom"; // Lembre-se: o indice começa em 0 char letra = frase.charAt(2); System.out.println("O caractere no índice 2 é: " + letra); System.exit(0); } } Ao executarmos este código nós teremos o seguinte resultado: O caractere no índice 2 é: o Esta dica foi revisada e testada no Java 8. |
Java ::: Coleções (Collections) ::: ArrayList |
Java Collections para iniciantes - Arrays (vetores) ou a ArrayList? Qual devo usar?Quantidade de visualizações: 16122 vezes |
Uma das perguntas mais frequentes que os usuários do nosso site nos fazem é aquela sobre o uso de simples arrays (vetores e matrizes) ou objetos da classe ArrayList. Se o número de elementos for fixo ou você precisar de muita eficiência ao lidar com tipos primitivos, então arrays podem ser a melhor escolha. Porém, muitos problemas envolvendo o armazenamento de dados requerem estruturas de dados que possam ser redimensionadas de acordo com a necessidade do algorítmo. Neste caso, uma ArrayList (ou qualquer uma das outras classes Collections) pode ser a escolha certa. Veja um trecho de código para ficar mais fácil o entendimento: ---------------------------------------------------------------------- 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[]){ int valores[] = {4, 12, 8, 5, 13}; System.out.println("Primeiro elemento no vetor: " + valores[0]); } } Ao executar este código nós teremos o seguinte resultado: Primeiro elemento no vetor: 4 Como podemos ver neste exemplo, um array (nesse caso um vetor) possui um tamanho fixo, ou seja, o compilador não nos permite reduzir ou aumentar a quantidade de elementos em um vetor ou matriz criado a partir da notação de arrays. Assim, apesar de todas as facilidades que os arrays trazem consigo, este pode ser um empecilho para o tipo de aplicação que queremos desenvolver em um determinado momento. A classe ArrayList, por outro lado, possui tamanho variado. Isso quer dizer que seu tamanho é aumentado ou reduzido de acordo com as necessidades do seu código. Uma outra questão que diferencia arrays de ArrayList, é que não podemos armazenar tipos primitivos em um objeto da classe ArrayList. Se precisarmos fazer isso, o tipo primitivo deve ser colocado em uma classe encapsuladora, por exemplo, a classe Integer. Em algumas situações o compilador faz isso nos bastidores, e esta operação é chamada de auto-boxing. |
Java ::: Classes e Componentes ::: JTree |
Java Swing - Como criar sua primeira JTree usando um vetor de nomes de linguagens de programaçãoQuantidade de visualizações: 13009 vezes |
Este exemplo mostra como criar uma JTree bem simples, e que servirá de base para a criação de aplicações Java Swing mais elaboradas. Os itens da JTree são fornecidos como um vetor de objetos, de forma que cada sub-vetor constitui uma seção da árvore. Os elementos (nós) são inseridos em suas devidas posições usando uma função recursiva. Veja o resultado na figura abaixo: E agora 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; import javax.swing.*; import java.awt.*; import javax.swing.tree.*; public class Estudos extends JFrame{ public Estudos(){ super("Exemplo de uma JTree simples"); Object[] linguagens = { "Linguagens", new Object[]{ "Compiladas", "C++", "Delphi" }, new Object[]{ "Interpretadas", "JavaScript", "Python", "Ruby" } }; DefaultMutableTreeNode raiz = montar(linguagens); JTree arvore = new JTree(raiz); Container c = getContentPane(); c.setLayout(new FlowLayout()); JScrollPane scrollPane = new JScrollPane(arvore); c.add(scrollPane); setSize(400, 300); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private DefaultMutableTreeNode montar(Object[] hier){ DefaultMutableTreeNode no = new DefaultMutableTreeNode(hier[0]), filho; for(int i = 1; i < hier.length; i++){ Object n_no = hier[i]; if(n_no instanceof Object[]){ // nó possui filhos filho = montar((Object[])n_no); } else{ filho = new DefaultMutableTreeNode(n_no); // folha } no.add(filho); } return(no); } } |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Alinhamentos no AutoCAD Civil 3D Qual dos objetos abaixo é constituido de uma série de linhas e curvas que representam mudanças na elevação ao longo de um alinhamento? A) Assembly (Montagem) B) Profile (Perfil) C) Corridor (Corredor) D) Surface (Superfície) Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Responsabilidade civil dos prepostos e preponentes Considera-se ___________ a entrega de papéis, bens ou valores ao ____________, encarregado pelo __________, se os recebeu sem ______________, salvo nos casos em que haja prazo para reclamação. Qual opção abaixo preenche corretamente as lacunas? A) Perfeita - preponente - preposto - protesto. B) Inválida - preponente - preposto - protesto. C) Inválida - preposto - preponente - protocolo. D) Perfeita - preposto - preponente - protocolo. E) Perfeita - preposto - preponente - protesto. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
A paleta Toolspace Qual aba da paleta Toolspace é usada para exibir os objetos do Civil 3D em uma lista resumida e expansível? A) Settings B) Prospector C) Toolbox D) Survey Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Materiais empregados para instalação de água fria e esgoto A instalação de água fria utilizando cano de PVC rígido da cor marrom exige uma série de cuidados, como, por exemplo, a questão da limpeza e da eliminação de sujeira em seu interior. Caso isso não seja feito, pode obstruir toda a rede quando ela for ligada à rede da rua. Nesse sentido, uma evolução tecnológica que facilita o manuseio de tubos e conexões na hora da montagem é: A) o emprego de adesivo PVC de secagem rápida. B) a utilização de anéis de vedação de borracha, o que facilita a execução. C) a utilização de engate rápido superfície sobre superfície, eliminando anéis de vedação. D) a utilização de conexão vedada com gaxeta, que pode ser regulada posteriormente. E) o sistema de encaixe de topo, que dispensa acessórios de união entre canos, realizado por fricção. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?valor = 5 if valor % 3 > 2: print("Verdadeiro") else: print("Falso") A) Verdadeiro B) Erro SyntaxError: invalid syntax na linha 2 C) Falso D) Erro IndentationError: expected an indented block E) O código é executado sem erros mas não mostra nenhuma saída. 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 |
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 |