Arquivos da categoria: Java

Habilitando o plugin java do Firefox no Ubuntu.

Ultimamente tive alguns problemas ao usar o plugin java icedtea (versão 6 e 7) com o firefox. Problemas como lentidão e crash repentinos estavam acontecendo frequentemente, além de não abrir certificados java no navegador. A solução foi instalar o plugin java da oracle que vem na JRE.
Para instalar o plugin basta apontar o arquivo libnpjp2.so, que vêm na JRE, geralmente no caminho (dependendo da sua versão java e da arquitetura da sua máquina) java-6-openjdk-amd64/jre/lib/amd64/libnpjp2.so (ao invés de amd64, usar i386 para sistemas de 32bits).

*Verificar se a pasta ~/.mozilla/plugins/ já existe, se não existir criar com o comando abaixo.

mkdir ~/.mozilla/plugins

Comando para linkar o plugin:

ln -s /[pastadeinstalacao]/java-6-openjdk-amd64/jre/lib/amd64/libnpjp2.so ~/.mozilla/plugins/libnpjp2.so

Reinicie o firefox e veja se o plugin está instalado em Tools->Add-ons.

Retornando o nome da classe de um Objeto no Java

O nome da classe pode ser retornada com as seguintes funções:

1
2
//Retorna todo o nome da classe incluindo seu pacote
meuobjeto.getClass().getName();

ou

1
2
//Retorna apenas o nome da classe 
meuobjeto.getClass().getSimpleName();

Copiando uma imagem de uma pasta para outra usando Java

Escrevi um post que dizia como copiar um arquivo de um diretório para o outro usando FileChannel, no entando não serve para copiar imagens (arquivos binários). Para copiar uma imagem de uma pasta para outra use BufferedImage e ImageIO:

Usando uma imagem externa ao seu projeto:

File imagem_file = new File(“exemplo.jpg”);
BufferedImage imagem_buffered = ImageIO.read( imagem );
ImageIO.write(imagem_buffered, “jpg”, new File(“novaimagem.jpg”));

Usando uma imagem dentro do seu projeto:

//Origem
BufferedImage imgb;
imgb=ImageIO.read(getClass().getResource(“/path/img.jpg”).openStream());
//Destino
ImageIO.write(imgb, “jpg”, new File(“novaimagem.jpg”));

Criando árvore de diretórios no Java

Se você deseja criar uma estrutura de pastas de caminho especifico use a função abaixo onde o parâmetro path é o caminho que se deseja criar.

Ex:

criarPastas(“c:\java\pasta1\pasta2”);

Função:

public void criarPastas(String path) {
String[] pastas = path.getText().split(“\\\\”);
String raiz = pastas[0].toString() + “\\”;
for (int i = 0; i<pastas.length; i++) {
if (i>0) {
File dir = new File(raiz + pastas[i].toString());
if (!dir.exists()) {
dir.mkdir();
}
raiz = raiz + pastas[i].toString() + “\\”;
}
}
}

Copiando arquivos de um diretório para outro no Java

Para copiar arquivos entre pastas no Java de uma maneira simples você pode usar a Classe FileChannel.

Ex:

// Cria channel na origem
FileChannel oriChannel = new FileInputStream(“Caminho Origem”).getChannel();
// Cria channel no destino
FileChannel destChannel = new FileOutputStream(“Caminho Destino”).getChannel();
// Copia conteúdo da origem no destino
destChannel.transferFrom(oriChannel, 0, oriChannel.size());

// Fecha channels
oriChannel.close();
destChannel.close();

Convertendo uma imagem colorida para preto e branco no Java

A função abaixo converte uma imagem colorida em preto e branco, retornando uma BufferedImage.

import java.awt.color.ColorSpace;
import java.awt.image.ColorConvertOp;
import java.awt.image.BufferedImage;
import java.awt.image.BufferedImageOp;

public static BufferedImage converterParapretobranco(BufferedImage source) {
   BufferedImageOp op = new ColorConvertOp(
   ColorSpace.getInstance(ColorSpace.CS_GRAY), null);
   return op.filter(source, null);
}

O futuro do Java ME depois do Flash Lite

Todo mundo sabe das vantagens que o Flash proporciona sobre os Applets Java, isso
quando falamos em facilidade de criação de animações e jogos, além de serem mais leves
e, digamos assim, “mais aceitável” nos browsers atuais. Por estas razões os Applets em java foram, aos poucos,
deixando de ser o centro das atenções em matéria de gráficos. Será que o mesmo vai acontecer no campo dos celulares? Bem, a Adobe sabe bem qual o potencial de sua ferramenta para celulares (o Flash Lite) e com a popularização de aparelhos com esta tecnologia, facilitará o desenvolvimento de jogos e animações
para o ambiente móvel. O celular do vídeo abaixo é um w850i da Sony Ericsson (http://www.sonyericsson.com).