Você está aqui: Java ::: Dicas & Truques ::: Imagens e Processamento de Imagens |
Como criar um programa de visualização de imagens em Java - Código fonte completoQuantidade de visualizações: 19440 vezes |
O que temos abaixo é o código completo para uma aplicação Java Swing que permite visualizar imagens JPG, GIF ou PNG. A imagem é selecinada usando um JFileChooser e carregada usando o método read() da classe ImageIO. Veja que usamos também uma classe personalizada de JPanel para exibir a imagem:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.awt.*; import java.io.*; import java.awt.image.*; import java.awt.event.*; import javax.swing.*; import javax.imageio.*; public class Estudos extends JFrame{ private BufferedImage imagem; AreaImagem areaImagem; public Estudos(){ super("Estudos Java"); Container c = getContentPane(); c.setLayout(new BorderLayout()); JButton btn = new JButton("Carregar Imagem"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ JFileChooser fc = new JFileChooser(); int res = fc.showOpenDialog(null); if(res == JFileChooser.APPROVE_OPTION){ File arquivo = fc.getSelectedFile(); imagem = null; try{ imagem = ImageIO.read(arquivo); } catch(IOException exc){ JOptionPane.showMessageDialog(null, "Erro ao carregar a imagem: " + exc.getMessage()); } if(imagem != null){ areaImagem.imagem = imagem; areaImagem.repaint(); } } } } ); c.add(btn, BorderLayout.SOUTH); // Cria a área de exibição da imagem areaImagem = new AreaImagem(); c.add(areaImagem, BorderLayout.CENTER); setSize(400, 300); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } // Sub-classe de JPanel para exibir a imagem class AreaImagem extends JPanel{ public BufferedImage imagem; public void paintComponent(Graphics g){ super.paintComponent(g); // desenha a imagem no JPanel g.drawImage(imagem, 0, 0, this); } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Pacote java.lang ::: String |
Como obter um objeto String a partir de um StringBuffer ou StringBuilder do JavaQuantidade de visualizações: 3088 vezes |
As classes StringBuffer e StringBuilder possuem as mesmas funcionalidades. A diferença é que StringBuilder não é segura em relação à threads e está sendo rapidamente substituída pela classe StringBuffer. Ambas são parecidos com uma String, com a diferença que um StringBuffer ou StringBuilder pode ser modificado in-place, ou seja, modificações em seu conteúdo não geram uma nova cópia, como acontece com objetos da classe String. Nesta dica eu mostrarei como criar novos objetos String a partir do conteúdo de um StringBuffer ou StringBuilder. Vamos começar analisando os construtores da classe String que permitem passar um objeto StringBuffer ou StringBuilder: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; public class Estudos{ public static void main(String[] args) { // um StringBuffer contendo uma frase (troque // StringBuffer por StringBuilder e o resultado será o mesmo StringBuffer frase = new StringBuffer("Gosto muito de programar em Java"); // vamos obter uma String a partir deste StringBuffer String fraseString = new String(frase); // e exibimos o resultado System.out.println(fraseString); } } Resultado parecido pode ser obtido sem o uso dos construtores String(StringBuilder builder) e String(StringBuffer buffer). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; public class Estudos{ public static void main(String[] args) { // um StringBuffer contendo uma frase (troque // StringBuffer por StringBuilder e o resultado será o mesmo StringBuffer frase = new StringBuffer("Gosto muito de programar em Java"); // vamos obter uma String a partir deste StringBuffer String fraseString = frase.toString(); // e exibimos o resultado System.out.println(fraseString); } } Agora nós usamos o método toString() da classe StringBuffer para converter seu conteúdo em uma string e atribuí-lo à variável fraseString. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercícios Resolvidos de Java - Usando o laço for para exibir a tabela de caracteres ASCII de 1 até 127Quantidade de visualizações: 3830 vezes |
Pergunta/Tarefa: Escreva um programa Java console que usa o laço for para exibir a tabela de caracteres que são equivalentes aos códigos ASCII de 1 até 127. Sua saída deverá ser parecida com: Resposta/Solução: 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) ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String[] args){ // um laço que começa em 1 e termina em 127 for(int i = 1; i <= 127; i++){ // vamos obter o caractere correspondente char c = (char)(i); // vamos exibí-lo System.out.print(c + " "); // é hora de quebrar a linha? if(i % 10 == 0){ System.out.println(); } } System.out.println(); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercícios Resolvidos de Java - Um laço for que pede que o usuário informe 10 valores inteiros e mostra a quantidade de valores pares informadosQuantidade de visualizações: 10640 vezes |
Pergunta/Tarefa: Escreva um programa Java console que usa o laço for para solicitar que o usuário digite 10 valores inteiros. Em seguida seu programa deverá contar quantos valores pares foram informados. Dica: Use um objeto da classe Scanner para obter a entrada do usuário. Resposta/Solução: A resolução deste exercício envolve a criação de uma variável contador, do tipo int, e que deverá ser inicializada com o valor 0. Veja: int contador = 0; // guardará a quantidade de valores pares lidos ---------------------------------------------------------------------- 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){ // para este exercício você deverá importar a classe // Scanner. Ela está no pacote java.util.*; // vamos construir um objeto da classe Scanner para ler a // entrada do usuário Scanner entrada = new Scanner(System.in); int valor; // guarda o valor lido int contador = 0; // guardará a quantidade de valores pares lidos // vamos pedir ao usuário que informe 10 valores inteiros for(int i = 0; i < 10; i++){ System.out.print("Informe o " + (i + 1) + "º valor: "); valor = Integer.parseInt(entrada.nextLine()); // vamos verificar se o valor lido é par if(valor % 2 == 0){ contador++; } } // vamos exibir a quantidade de números pares lidos System.out.println("\nVocê informou " + contador + " valores pares.\n"); } |
Mais Desafios de Programação e 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 |