Posts Tagged ‘ java ’

Jython: Pequeno exemplo usando java.awt

Estou estudando Jython e um dos exercícios do curso (EAD) era fazer essa interface, coisa simples, resolvi disponibilizar:

exemplo_Jython

O código segue a seguir, para executar é necessário ter o Jython instalado (apt-get install jython) e invoca-lo da seguinte forma:
$ jython Desenho.py

Desenho

Código copiavel (atenção!!organize a identação pois é Python ;] ):

#!/usr/bin/env python
from java.awt import *
from java.lang import *

#Classe do exercicio
class Desenho(Panel):
clicked = None
dots = []
def __init__(self):
Panel.__init__(self, mouseDragged=self.Pressionado)
dim = Dimension()
dim.size=400,240
self.preferredSize = dim
self.background = Color.BLACK;
g = self.graphics
#self.addMouseListener(Click())
def Limpar(self, event): # Botao que limpa
g = self.graphics
g.clearRect(0, 0, 400, 300);
def Pressionado(self, event):
g = self.graphics
g.setColor(Color.white)
g.fillRect(event.x, event.y, 2, 2);
self.paint(g);

#Metodo para o botao “X”
def exit(event):
System.exit(0)

#Janela
frame = Frame(“Desenho”,windowClosing=exit)
frame.size = 400, 300;
desenho = Desenho()
frame.add(desenho)
frame.layout = FlowLayout()

#Botao limpar
button = Button ( “Limpar”, actionPerformed = desenho.Limpar)
dim = Dimension()
dim.size=400,25
button.preferredSize = dim
frame.add(button)
frame.visible = 1;

Maven: Alterar “/src/main/webapp” no arquivo “pom.xml”

Problema: Necessidade de alterar o diretório padrão dos fontes de aplicação web (js, css, jsp,…) de um projeto Maven de “src/main/webapp/” para “context/”
Solução: Definir a configuração warSourceDirectory para o plugin “maven-war-plugin”

Problem: Change standard directory for web application sources on a maven project from “src/main/webapp/” to “context/”
Solution: Define the config warSourceDirectory for the “maven-war-plugin” plugin

Ferramentas envolvidas: Eclipse, NetBeans, M2Eclipse (plugin maven para eclipse)

Descrição:
O padrão para códigos de fonte de aplicação web (js, css, jsp,…) é “/src/main/webapp” como descrito em http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html,
porém existem casos em que se mostra necessário alterar a localização, como por exemplo na minha empresa, que usar como padrão o diretório “context/”.

Quando trabalhamos com um projeto web devemos definir o packaging como war “<packaging>war</packaging>”, quando isso é feito o maven já sabe que terá que usar o plugin “maven-war-plugin” para trabalhar com esse projeto, assim devemos nos preocupar em configurar as propriedades do plugin, como descrito em http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html,
porém existe uma pequena confusão  entre webappDirectory e warSourceDirectory, para que o NetBeans e o M2Eclipse(Eclipse) reconheçam esse diretório Web Pages/Web Resources é necessário que <warSourceDirectory> seja especificado,como no exemplo a seguir:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-alpha-1</version>
<configuration>
<!--warSourceDirectory>src/main/webapp/</warSourceDirectory-->
<warSourceDirectory>context/</warSourceDirectory> <!--Atencao: path relativo, sem barra no inicio -->
</configuration>
</plugin>
</plugins>
</build>

Dessa forma o projeto ficará independente de IDE, podendo ser aberto no NetBeans ou importado no Eclipse.
Para atualizar as configurações de projeto do eclipse se baseando no pom.xml clique com o botão direito no projeto > Maven > Update Project Configuration
//!\ ATENÇÃO: Caso existam declarações de <resources> aprontando para algum diretório, no escopo build, estes serão enviados para diretórios diferentes do desejado, pois uma vez já enviados os arquivos o maven não os envia novamente

Compilar multiplos diretórios por linha de comando

Estou estudando algumas coisas básicas do Java e por isso optei em compilar por linha de comando.
O problema é que para se compilar múltiplos diretórios ( as packages) é necessário listar cada arquivo que deve ser compilado após o comando javac, exemplo:

$ javac package01/Classe.java package02/Classe2.java;

Claro que listar uma infinidade de arquivos seria sacal, a forma a seguir facilita bastante o trabalho. A idéia é buscar todos os arquivos de extensão .java e gravá-los em um arquivo e depois compilar utilizando desses dados:

$ find src -name \*.java -print > file.list
$ javac @file.list

Java registar Path Windows Vista

Problema simples que temos sempre ao instalar um novo windows que porem sempre esqueço.

“C:\Users\user>java
‘java’ is not recognized as an internal or external command,
operable program or batch file.”

A solução é setar nas variaveis de ambiente (environment variables) a direção da pasta em que se encontra o java.exe

No Windows Vista(obs: meu vista está em inglês, então os nomes de menus podem diferir da minha tradução barata ;] ):

* Clique com o botão direito em Meu Computador > Propriedades > Opções Avançadas de Sistema > Variáveis de Ambiente
* Onde diz variáveis de sistema procure por PATH
* edite PATH e adicione o novo endereço (ex: C:\Program Files (x86)\Java\jre1.6.0_02\bin) separando dos outros por um ponto e virgula (;)

Fontes:
http://forums.sun.com/thread.jspa?messageID=10141445
http://java.sun.com/docs/books/tutorial/getStarted/problems/index.html
http://java.sun.com/javase/6/webnotes/install/jdk/install-windows.html#Environment