Você está aqui: Java ::: Dicas & Truques ::: Mouse e Teclado |
Computação Gráfica em Java - Código completo Java Swing para um programa de desenho usando eventos do mouseQuantidade de visualizações: 31358 vezes |
Nesta dica apresento um código completo para um programa de desenho usando os eventos os mouse, feito em Java Swing. Veja que o único evento que tivemos que implementar foi mouseDragged, que é disparado quando o usuário arrasta o mouse com o botão direito ou esquerdo pressionado. Observe também a criação de uma classe JPanel personalizada que servirá como painel de desenho. Fique atento à forma como subscrevemos o método paintComponent() na classe PainelDesenho para obtermos o objeto Graphics que nos permitirá desenhar na superfície do JPanel. O resultado é exibido na imagem abaixo: E aqui está o código 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 java.awt.event.*; public class Estudos extends JFrame{ public Estudos(){ super("Eventos do Mouse e Teclado"); Container c = getContentPane(); PainelDesenho painel = new PainelDesenho(); c.add(painel, BorderLayout.CENTER); c.add(new JLabel("Arraste o mouse para desenhar..." ), BorderLayout.SOUTH ); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class PainelDesenho extends JPanel{ private int quantPontos = 0; private Point pontos[] = new Point[10000]; public PainelDesenho(){ this.setBackground(Color.WHITE); this.addMouseMotionListener( new MouseMotionAdapter(){ public void mouseDragged(MouseEvent e){ if(quantPontos < pontos.length){ pontos[quantPontos] = e.getPoint(); quantPontos++; repaint(); } } } ); } @Override public void paintComponent(Graphics g){ super.paintComponent(g); for(int i = 0 ; i < quantPontos; i++) g.fillOval(pontos[i].x, pontos[i].y, 4, 4); } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversaQuantidade de visualizações: 15827 vezes |
Exercício Resolvido de Java - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversa Pergunta/Tarefa: Escreva um programa Java console ou GUI que leia um número de 3 dígitos e o inverta, escrevendo o número lido e o invertido. Por exemplo, se o usuário informar o valor 753, seu programa deverá invertê-lo, resultando em 357. Seu programa deverá exibir a seguinte saída: Informe um valor inteiro de três dígitos: 753 O valor original é: 753 O valor invertido é: 357 Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public static void main(String[] args){ // não se esqueça de adicionar um import para a classe Scanner // import java.util.Scanner; // vamos criar um objeto da classe Scanner Scanner entrada = new Scanner(System.in); // vamos solicitar ao usuário que informe um valor inteiro // na faixa 100 a 999 (incluindo) System.out.print("Informe um valor inteiro de três dígitos: "); // vamos ler o valor informado int valor = Integer.parseInt(entrada.next()); // vamos verificar se o valor está na faixa permitida if(valor < 100 || valor > 999){ System.out.println("Valor fora da faixa permitida"); System.exit(0); } // vamos criar uma variável temporária para manter intacto o valor lido int temp = valor; int inverso = 0; // guardará o valor invertido // vamos inverter o valor agora while(temp != 0){ inverso = (inverso * 10) + (temp % 10); temp = temp / 10; } // vamos mostrar o resultado System.out.println("O valor original é: " + valor); System.out.println("O valor invertido é: " + inverso); } |
Java ::: Dicas & Truques ::: Input e Output (Entrada e Saída) |
Java para iniciantes - Como usar a classe File em suas aplicações JavaQuantidade de visualizações: 10734 vezes |
A classe File, contida no pacote java.io, é uma representação abstrata de nomes de arquivos e diretórios. Veja sua posição na hierarquia de classes Java:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- java.lang.Object java.io.File Esta classe implementa as interfaces: Serializable e Comparable<File>. Instâncias desta classe são imutáveis, ou seja, uma vez criado, o caminho abstrato representado por um objeto File nunca mudará. É importante observar que, ao criar uma instância de File, como no código abaixo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- File arquivo = new File("C:\\", "texto.txt"); o arquivo "texto.txt" não será criado. O que temos é a construção de um objeto File. Da mesma forma, quando destruímos um objeto File, o arquivo representado por ele no sistema não será excluído. |
Java ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de Dados em Java - Como obter a quantidade de nós em uma lista singularmente ligada usando JavaQuantidade de visualizações: 6950 vezes |
Em algumas situações precisamos obter a quantidade de nós em uma lista singularmente ligada. Nesta dica eu mostro como isso pode ser feito. Aqui estou assumindo que você criou uma lista singularmente ligada que possui dois nós gerenciadores, ou seja, uma referência para o primeiro nó na lista e uma referência para o último nó. Veja o código para um método que retorna a quantidade de nós na lista: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // método que permite exibir os valores de // todos os nós da lista public int tamanho() { int tam = 0; // representa a quantidade de nós na lista // vamos obter uma referência ao início da lista No no = inicio; while (no != null) { // enquanto a lista não estiver vazia tam++; // incrementamos a variável tam no = no.proximo; // pula para o nó seguinte } return tam; } Veja como podemos chamar este nó a partir da classe principal da aplicação (Main.java): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Main { public static void main(String[] args) { // vamos criar uma nova lista Lista lista = new Lista(); // insira alguns nós no início ou no final // da lista // exibe a quantidade de nós na lista System.out.println("A lista possui " + lista.tamanho() + " nós"); } } Ao executar a aplicação você terá um resultado parecido com: A lista possui 4 nós. |
Vamos testar seus conhecimentos em Hidrologia |
Quantas são as unidades hidrográficas presentes no território do Brasil? A) 10. B) 11. C) 12. D) 15 E) 26. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Domínios de Deformações Para o dimensionamento de elementos de concreto armado sujeitos a solicitações normais, é necessário utilizar as relações de tensão-deformação (σ x ε) dos materiais (concreto e aço), as relações de compatibilidade de deformações e as relações de igualdade entre os esforços atuantes e os esforços resistentes. Analise as informações a seguir a respeito das relações referenciadas: I) As relações tensão-deformação referem-se ao comportamento do concreto simples. II) As relações de compatibilidade de deformações são o resultado da hipótese de que as seções permanecem planas até a ruptura e dos domínios de deformação. III) As relações de igualdade entre os esforços atuantes e os resistentes correspondem às equações de equilíbrio de forças e momentos em uma seção de concreto armado. Assinale e alternativa correta: A) Somente a afirmação I está correta. B) Somente as afirmações II e III estão corretas. C) Somente a afirmação II está correta. D) Somente a afirmação III está correta. E) Somente as afirmações I e II estão corretas. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Vigas a flexão simples: seções retangulares As ações permanentes atuam na estrutura durante toda a sua vida útil, podendo apresentar poucas variações. Em vigas de concreto armado, essas ações normalmente são os carregamentos de paredes, das lajes apoiadas sobre elas e do seu próprio peso. Imagine uma viga de concreto V (15x40) que sustenta uma parede com 18cm de espessura e suporta duas lajes. O pé-direito da edificação é de 3,00m e tanto a viga que sustenta a parede quanto a no topo desta têm altura de 40cm. Considere que as reações de apoio das lajes nessa viga são de 3,55kN/m e 5,40kN/m. Nesse cenário, qual é o carregamento dessa viga? A) 10,45kN/m. B) 11,84kN/m. C) 13,89kN/m. D) 15,39kN/m. E) 16,15kN/m. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
A Bacia Platina é uma das principais bacias do país. Em relação às suas características, marque a alternativa correta. A) É formada pelas bacias dos rios Paraná, Paraguai, Araguaia e Tocantins. B) Está localizada no Brasil, Argentina, Chile e Paraguai. C) Possui a maior usina hidrelétrica totalmente brasileira. D) Apresenta baixo aproveitamento econômico de sua área. E) É a bacia brasileira com maior capacidade instalada de geração de energia. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual é a forma correta de se criar um array em JavaScript? A) var cores = ["vermelho", "verde", "azul"]; B) var cores = (1: "vermelho", 2: "verde", 3: "azul"); C) var cores = "vermelho", "verde", "azul"; D) var cores = 1: ("vermelho"), 2: ("verde"), 3: ("azul"); 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 - Programação Orientada a Objetos em Java - Como usar o modificador static em suas aplicações Java C# - Como adicionar ou subtrair dias de uma data em C# usando o método AddDays() da estrutura DateTime |
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 |