Upload de imagem Java desktop – JavaSwing Read More »
The post Upload de imagem Java desktop – JavaSwing appeared first on Aprenda Java.
]]>
Olá amigos, hoje é dia de um pouco de JavaSwing. Vamos falar do Upload de imagem em Java desktop.
Apesar de ser uma tecnologia poderosa o Java Swing não é muito utilizado no mundo corporativo Java. As alternativas para Web são mais atraentes e muito mais divulgadas. Claro que existem razões para isso: a maioria dos sistemas atualmente rodam sobre servidores robustos, são distribuídos, balanceados que é mais interessante do que os sistemas Standalone (Desktop).
Mesmo assim sempre haverá a necessidade, um requisito para se utilizar JSE – Java Standard Edition ou um professor que nos passa um trabalho!
Para essas situações mostraremos como manipular Imagem em JavaSwing.
Mãos à obra!
package br.com.feltex.jse.swing.nivel5;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRootPane;
public class CarregaImagem extends JFrame implements ActionListener {
private static final long serialVersionUID = 2893622202255914832L;
JFileChooser chooser;
BufferedImage imagem;
JButton btnCarregaImagem;
File arquivo;
JLabel label;
/**
* Construtor padrão do Sistema
*/
public CarregaImagem() {
super("Capturar Imagem");
setSize(580, 580);// Dimensões da Janela
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
getContentPane().add(panel);
chooser = new JFileChooser();
label = new JLabel();
JPanel secpanel = new JPanel();
// Define que a tela será retirada da memória quando clicar no botão fechar "X" da tela
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setVisible(true);
JRootPane compPane = panel.getRootPane();
Container contePane = compPane.getContentPane();
contePane.add(secpanel);
secpanel.add(label, BorderLayout.CENTER);
btnCarregaImagem = new JButton("Selecione uma imagem");
btnCarregaImagem.addActionListener(this);
panel.add(btnCarregaImagem, BorderLayout.SOUTH);
}
protected static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = CarregaImagem.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Não foi possível carregar o arquivo: " + path);
return null;
}
}
/**
* Método acionado quando o usuário clique no botão
* @ActionEvent - objeto com o comportamento da ação
*/
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnCarregaImagem) {
chooser.showOpenDialog(null);
arquivo = chooser.getSelectedFile();
try {
imagem = ImageIO.read(arquivo);
ImageIcon icon = new ImageIcon(imagem);
label.setIcon(icon);
Dimension imageSize = new Dimension(icon.getIconWidth(), icon.getIconHeight());
label.setPreferredSize(imageSize);
label.revalidate();
label.repaint();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
public static void main(String[] args) {
new CarregaImagem();
}
}
Então amigos. Isso é apenas uma das formas de manipular imagens com java Swing. Ainda é possível pegar essa imagem e salvar em banco de dados, enviar por e-mail. Leia os links abaixa e aprenda mais sobre manipulação de imagem em java.
Grande abraço e vida que segue!
The post Upload de imagem Java desktop – JavaSwing appeared first on Aprenda Java.
]]>The post Iniciando no Mundo Linux appeared first on Aprenda Java.
]]>The post Iniciando no Mundo Linux appeared first on Aprenda Java.
]]>Certificação Java – A hora é agora! Promoção Retake Read More »
The post Certificação Java – A hora é agora! Promoção Retake appeared first on Aprenda Java.
]]> Olá amigos, para aqueles que sempre quiseram fazer a prova de Certificação Java e sempre protelaram este é um ótimo momento. Estamos iniciando o ano, as bateria estão recarregadas e
a Oracle então nos brinda com um ótima oportunidade promocional.
Temos um novo RETAKE. A promoção retake acontece da seguinte forma: você compra um voucher que lhe dá a chance de refazer a prova se, por acaso, for reprovado. Isso é muito interessante. Em alguns casos os estudantes não passam por poucas questões. Aí, você pode me perguntar: Tudo bem, essa então é a chance de eu ser reprovado 2 vezes seguidas?
Não, não caro leitor. Essa é a chance de você te uma certificação Java! Sempre que você faz a prova você recebe um relatório dos percentuais de acerto em cada grupo de concentração da prova. Com isso em mãos você consegue ver onde está a sua deficiência e pode estudar com foco para melhorar essas fraquezas. É claro que, com bastante dedicação e foco a certificação Java tão sonhada virá!
Atenção ao prazo! Essa promoção é válida até 31 de maio de 2015. Você deve marcar a prova e, se necessário a nova tentativa, até essa data. Então não deixe para marcar a prova para o dia 31/05/2015.
Veja abaixo a lista das certificações disponíveis:
Exames para certificação disponíveis:
Java:
Oracle Database 12c:
Que tal fazer a certificação e depois postar aqui no Blog: EU CONSEGUI! Será um prazer poder compartilhar com você uma conquista tão importante como essa.
The post Certificação Java – A hora é agora! Promoção Retake appeared first on Aprenda Java.
]]>Feltex: Agradecer e comemorar as vitórias de 2014. Que venha 2015 Read More »
The post Feltex: Agradecer e comemorar as vitórias de 2014. Que venha 2015 appeared first on Aprenda Java.
]]>Olá Amigos,
Este é o post de fim de ano. Sua publicação data de 31/12/2014. Aqui estou para registrar o que aconteceu no blog, listar as ocorrências mais importantes e agradecer aos leitores que nos acompanharam durante 2014.
É fim de ano. Todos com o espírito mais feliz por terem concluído mais uma etapa. A Feltex também.
As 5 postagens mais acessadas do ano:
Tutoriais completos
Exemplo completo com jsf primefaces hibernate mysql
Projeto completo com JSP e PostGreSQL
Configurar um datasource no Servidor WildFly
Apostila Java
O ano de 2015 já está planejado: para o ano que vem já está previsto novo layout teremos muitas novidades ao longo do ano.
Além do novo layout que está em fase de teste teremos também novas apostilas. Os cursos em vídeo também serão lançados e a parte boa é que alguns serão grátis. Outros, mais avançados, terão uma contribuição para manter o site. Nada que um Analista Programador Java, Engenheiro ou Arquiteto de Software não possa pagar.
Teremos a criação de fóruns temáticos onde discutiremos assuntos específicos sobre desenvolvimento de Software.
O mais importante é agradecer aos meus alunos (registrados são mais de 560), amigos e colegas que sempre visitam o site dando audiência e motivando a construção dessa plataforma de divulgação de conhecimento.
Abraço a todos e fica aqui o meu MUITO OBRIGADO a você leitor!
The post Feltex: Agradecer e comemorar as vitórias de 2014. Que venha 2015 appeared first on Aprenda Java.
]]>Dica Rápida: Leitura de PDF com PDFBox Read More »
The post Dica Rápida: Leitura de PDF com PDFBox appeared first on Aprenda Java.
]]>
package br.com.feltex.lerpdf;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
import org.apache.pdfbox.cos.COSDocument;
import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;
public class LeituraPDFBox {
public static void main(String args[]) {
System.out.println("Inicio");
PDFTextStripper pdfStripper = null;
PDDocument pdDoc = null;
COSDocument cosDoc = null;
File file = new File("MeuArquivo.pdf");
try {
PDFParser parser = new PDFParser(new FileInputStream(file));
parser.parse();
cosDoc = parser.getDocument();
pdfStripper = new PDFTextStripper();
pdDoc = new PDDocument(cosDoc);
//Começa a leitura do arquivo a partir da página informada
// neste exemplo é a página "1"
pdfStripper.setStartPage(1);
pdfStripper.setEndPage(pdfStripper.getEndPage());
String parsedText = pdfStripper.getText(pdDoc);
Scanner s = new Scanner(parsedText);
s.useDelimiter("\n");
String linha = "";
while (s.hasNext()) {
linha = s.next();
System.out.println(linha);
}
s.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Fim");
}
}
package br.com.feltex.lerpdf;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
import org.apache.pdfbox.cos.COSDocument;
import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;
public class LeituraJava2 {
public static void main(String args[]) {
System.out.println("Inicio");
PDFTextStripper pdfStripper = null;
PDDocument pdDoc = null;
COSDocument cosDoc = null;
File file = new File(
"MeuArquivo.pdf");
try {
PDFParser parser = new PDFParser(new FileInputStream(file));
parser.parse();
cosDoc = parser.getDocument();
pdfStripper = new PDFTextStripper();
pdDoc = new PDDocument(cosDoc);
pdfStripper.setStartPage(1);
pdfStripper.setEndPage(pdfStripper.getEndPage());
String parsedText = pdfStripper.getText(pdDoc);
PrintWriter saida = new PrintWriter(
new File("D:/Temp/saidapdf.txt"));
Scanner s = new Scanner(parsedText);
s.useDelimiter("\n");
String linha = "";
while (s.hasNext()) {
linha = s.next();
saida.print(linha);
}
saida.close();
s.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Fim");
}
}
Abraços e bons estudos. No mais Vida que segue!!
The post Dica Rápida: Leitura de PDF com PDFBox appeared first on Aprenda Java.
]]>Dica rápida: Instalação do Maven Read More »
The post Dica rápida: Instalação do Maven appeared first on Aprenda Java.
]]>Olá amigos. A dica rápida de hoje é de como fazemos a instalação e configuração do Maven. Para quem não conhece o gerenciador de dependências que torno o Java ainda mais atraente e agradável de se programar.
Além disso precisamos adicionar os arquivos binários do Maven ao Path. Para isso adicionamos à variável de ambiente PATH o seguinte caminho: “D:\Java\apache-maven-3.3.3\bin”
O resultado deve ser algo como o exemplo abaixo:
Então é isso…. vida que segue!
The post Dica rápida: Instalação do Maven appeared first on Aprenda Java.
]]>Dica Rápida: Chamando Stored Procedure em Java Read More »
The post Dica Rápida: Chamando Stored Procedure em Java appeared first on Aprenda Java.
]]> Olá amigos hoje a dica é Stored Procedure. Muitos sistemas possuem suas regras de negócio centralizadas no banco de dados e as Stored Procedure são os objetos que realizam as operações de Inclusão, alteração, exclusão e até mesmo consulta no Banco de dados.
Por este motivo é importante sabermos trabalhar com esses objetos em Java.
Aprenda como acessar o banco de dados MySQL aqui.
Veja o script de criação da tabela.
CREATE TABLE tbaluno (
matricula INT NOT NULL ,
nome VARCHAR(45) NULL ,
telefone VARCHAR(45) NULL ,
email VARCHAR(45) NULL ,
datacadastro DATETIME NULL,
PRIMARY KEY (matricula));
Agora vejamos o script para geração de massa de dados:
insert into tbaluno (matricula, nome, telefone, email, datacadastro)
values (1, 'maria da silva','5555-9887','maria.silva@feltex.com.br', '2020-10-10');
insert into tbaluno (matricula, nome, telefone, email, datacadastro)
values (2, 'Jose da silva','2223-3222','jose.silva@feltex.com.br', '2020-10-10');
insert into tbaluno (matricula, nome, telefone, email, datacadastro)
values (3, 'Bruna silva','4412-2234','bruna.silva@feltex.com.br', '2020-10-10');
Criaremos uma procedure que nos retorna o total de alunos existentes em nossa tabela de alunos.
DELIMITER $$
CREATE PROCEDURE Total_Alunos(OUT total INT)
BEGIN
SELECT COUNT(matricula) INTO total FROM tbAluno;
END $$
Abaixo temos o código Java que executa a procedure e exibe o retorno.
package br.com.feltex.jdbc.avancado;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
public class ChamaProcedure {
public static Connection getConexao() {
Connection conexao = null;
String usuario = "root";
String senha = "teco01";
String nomeBancoDados = "bdacademicnet";
try {
conexao = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/" + nomeBancoDados, usuario,
senha);
} catch (Exception e) {
e.printStackTrace();
}
return conexao;
}
public static void main(String[] args) {
CallableStatement callableStatement = null;
Connection con = null;
try {
// Realiza a conexão com o banco de dados
con = getConexao();
//Prepara a chamada para a procedure. Observe que há "?"
// Que neste caso é o parâmetro de saída.
callableStatement = con.prepareCall("{CALL Total_Alunos(?)}");
//Informa o tipo de retorno
callableStatement.registerOutParameter(1, java.sql.Types.INTEGER);
// Executa a Stored procedure
callableStatement.execute();
// Faz a leitura do retorno
Integer totalAlunos = callableStatement.getInt(1);
System.out.println("Total alunos: " + totalAlunos);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Por hoje é só meus amigos e Vida que segue!
Links relacionados
Instalação e Configuração do Banco de Dados MySQL
Não se esqueça de curtir este post nas redes sociais. Dê a sua contribuição social e ajude o autor:
The post Dica Rápida: Chamando Stored Procedure em Java appeared first on Aprenda Java.
]]>
Dica rápida: Aprenda como Descompactar Arquivo com o JavaZip Read More »
The post Dica rápida: Aprenda como Descompactar Arquivo com o JavaZip appeared first on Aprenda Java.
]]>Hoje nossa dica é como podemos descompactar um arquivo com JavaZip. Veja também como compactar um arquivo aqui.
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class MeuUnzip2 {
private static final int BUFFER = 2048;
public static void main(String argv[]) {
try {
// Caminho do arquivo ZIP
String zipFile = "D:/Temp/MeuArquivo.zip";
String pastaDestino = "D:/Temp/saida/";
File file = new File(pastaDestino);
// Se não existir a pasta destino
// será criada por nosso programa
if (file.exists() == false) {
file.mkdirs();
}
BufferedOutputStream dest = null;
FileInputStream fis = new FileInputStream(zipFile);
ZipInputStream zis = new ZipInputStream(
new BufferedInputStream(fis));
ZipEntry entry;
while ((entry = zis.getNextEntry()) != null) {
System.out.println("Extraindo o arquivo: " + entry);
int count;
byte data[] = new byte[BUFFER];
// Cria os arquivos no disco
FileOutputStream fos = new FileOutputStream(pastaDestino + entry.getName());
dest = new BufferedOutputStream(fos, BUFFER);
while ((count = zis.read(data, 0, BUFFER)) != -1) {
dest.write(data, 0, count);
}
dest.flush();
dest.close();
}
zis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
The post Dica rápida: Aprenda como Descompactar Arquivo com o JavaZip appeared first on Aprenda Java.
]]>Usando Criptografia em Java Read More »
The post Usando Criptografia em Java appeared first on Aprenda Java.
]]> Olá amigos. Hoje falaremos sobre criptografia. Há muitas histórias boas sobre isso e até filmes que mostram formas mirabolantes de criptografar e descriptografar dados. Aqui vamos aprender o básico sobre essa arte de esconder os dados sigilosos dos nossos sistemas.
Não percam também a seção de links onde indicamos mais lugares onde vocês podem continuar a estudar o assunto!
No exemplo abaixo mostramos como criptografar e depois descriptografar um texto qualquer.
package br.com.feltex.seguranca;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
public class JCEEncryption {
public static void main(String[] argv) {
try {
KeyGenerator gerador = KeyGenerator.getInstance("DES");
SecretKey chaveDES = gerador.generateKey();
Cipher desCipher;
//Criação do cipher que conterá os objetos de criptografia
desCipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
// Iniciando cipher para criptografia
desCipher.init(Cipher.ENCRYPT_MODE, chaveDES);
//Dados a serem cripografados
byte[] mensagemOriginal = "Mensagem oculta!".getBytes();
System.out.println("Conteúdo byte: " + mensagemOriginal);
System.out.println("Conteúdo texto: " + new String(mensagemOriginal));
// Excriptando os dados
byte[] mensagemCriptografada = desCipher.doFinal(mensagemOriginal);
System.out.println("Conteúdo criptografado : " + mensagemCriptografada);
// Iniciando o chipher para realizar a descriptografia
desCipher.init(Cipher.DECRYPT_MODE, chaveDES);
// Texto a ser descriptografado
byte[] textoDescriptografado = desCipher.doFinal(mensagemCriptografada);
System.out.println("Texto Descriptografado: " + new String(textoDescriptografado));
} catch (NoSuchAlgorithmException e) {
System.err.println("Não foi possível localizar o algorítmo de criptografia!" + e.getMessage());
e.printStackTrace();
} catch (NoSuchPaddingException e) {
System.err.println("O mecanismo de preenchimento solicitado não existe no ambiente (Sistema Operacional)!" + e.getMessage());
e.printStackTrace();
} catch (InvalidKeyException e) {
System.err.println("Chave inválida!" + e.getMessage());
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
System.err.println("Tamanho do bloco da mensagem inválido!" + e.getMessage());
e.printStackTrace();
} catch (BadPaddingException e) {
System.err.println("Preenchimento incorreto de dados!" + e.getMessage());
e.printStackTrace();
}
}
}
Para saber tudo sobre criptografia em Java
Exemplos de uso de criptografia
Configuração de acesso a console do servidor TOMCAT 8
The post Usando Criptografia em Java appeared first on Aprenda Java.
]]>Dica rápida: Aprenda como Compactar Arquivo com o JavaZip Read More »
The post Dica rápida: Aprenda como Compactar Arquivo com o JavaZip appeared first on Aprenda Java.
]]>Olá amigos, hoje vamos aprender como Compactar Arquivo com o JavaZip. Essa poderosa funcionalidade nativa do Java que pode nos ajudar muito quando precisamos diminuir os tamanho de arquivos com a linguagem Java. Veja também como descompactar arquivos em java aqui.
Cria a seguinte estrutura de pastas e arquivo no seu computador:
C:\temp\arquivo\dados.txt C:\temp\novapasta
Em seguida crie uma classe com o código disponível abaixo:
package br.com.feltex.zip;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class MeuZIP {
private static final String INPUT_FILE = "C:/temp/arquivo/dados.txt";
private static final String OUTPUT_FILE = "C:/temp/novapasta/dados.zip";
// Método principal que inicia nosso sistema
public static void main(String[] args) {
zipFile(new File(INPUT_FILE), OUTPUT_FILE);
}
public static void zipFile(File inputFile, String zipFilePath) {
try {
FileOutputStream fileOutputStream = new FileOutputStream(
zipFilePath);
ZipOutputStream zipOutputStream = new ZipOutputStream(
fileOutputStream);
// Um ZipEntry é um apontamento para um arquivo ZIP
ZipEntry zipEntry = new ZipEntry(inputFile.getName());
zipOutputStream.putNextEntry(zipEntry);
FileInputStream fileInputStream = new FileInputStream(inputFile);
byte[] buf = new byte[1024];
int bytesRead;
// Realiza a leitura dos dados do arquivo
// e escreve no stream de saída que será o Zip
while ((bytesRead = fileInputStream.read(buf)) > 0) {
zipOutputStream.write(buf, 0, bytesRead);
}
// Fecha o arquivo ZipEntry que armazena o conteúdo
// do arquivo
zipOutputStream.closeEntry();
zipOutputStream.close();
fileOutputStream.close();
System.out.println("Arquivo de entrada: "
+ inputFile.getCanonicalPath() + " saida do arquivo ZIP:"
+ zipFilePath);
} catch (IOException e) {
e.printStackTrace();
}
}
}
The post Dica rápida: Aprenda como Compactar Arquivo com o JavaZip appeared first on Aprenda Java.
]]>