Bom, como eu havia dito, voltamos com a segunda parte do tutorial Executando Java no Maemo, mas agora focando no uso de interface gráfica, que é o que mais desejamos
.
Conforme o site do Jalimo, eles recomendam o uso do Eclipse SWT. No caso do OpenMoko (segundo o mesmo site) este também executa aplicações com o AWT e Swing.
O SWT (Standard Widget Toolkit) é uma biblioteca de classes de interface gráfica desenvolvidas pela fundação Eclipse, a mesma que mantém a IDE Eclipse, e está disponível para vários sistemas operacionais, entre eles, Windows, Linux, MacOS etc.
Antes de criar o exemplo para teste, vamos baixar o pacote do SWT para o computador, pois, para compilar o exemplo no computador, precisaremos desta biblioteca. Vá ao site do SWT e procure por Releases, versão Stable (Figura 01).

Figura 01
Clique no link do seu sistema operacional (escolhi o Windows) que uma nova página se abrirá (Figura 02).

Figura 02
Clique na seta verde para baixar o arquivo (swt-3.4-win32-win32-x86.zip, para Windows; swt-3.4-gtk-linux-x86.zip, para Linux). Após baixado, descompacte o arquivo no diretório de sua escolha (exemplo, C:\javaN800\swt). Dentro do diretório, haverá um arquivo com nome swt.jar, este é a biblioteca SWT que será utilizada para compilar nosso exemplo.
Agora vamos criar a classe que será executada no N800. Digite o texto abaixo no editor de sua preferência:
import org.eclipse.swt.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
public class SimpleSwtSample
{
public static void main(String[] args)
{
// pega o display
Display display = Display.getDefault();
// cria a janela principal da aplicacao
final Shell shell = new Shell(display);
shell.setLayout(new RowLayout(SWT.VERTICAL));
// cria e adiciona um Label
Label label = new Label(shell, SWT.CENTER);
label.setText("Ola Maemo N800!");
// cria e adiciona um Label para
// motrar as informacoes do sistema
Label lblSistema = new Label(shell, SWT.CENTER);
lblSistema.setText(info());
// cria e adiciona um Button
Button button = new Button(shell, SWT.CENTER);
button.setText("Fechar");
// adicionar um Listener para fechar a aplicação
button.addListener(SWT.Selection, new Listener()
{
public void handleEvent(Event arg0)
{
shell.dispose();
}
});
// abre a janela principal
shell.open();
// inicia a interface grafica
while(!shell.isDisposed())
{
(!display.readAndDispatch())
{
display.sleep();
}
}
}
public static String info()
{
String versaoJava = System.getProperty("java.version");
String nomeSO = System.getProperty("os.name");
String versaoSO = System.getProperty("os.version");
return "Versao Java: " + versaoJava + "\nS.O.: " + nomeSO + " " + versaoSO;
}
}
Salve-o como SimpleSwtSample.java, no diretório onde foi descompactado o SWT baixado e execute o comando abaixo:
javac -cp swt.jar SimpleSwtSample.java
Serão gerados dois arquivos, SimpleSwtSample.class e SimpleSwtSample$1.class, que devem ser copiados para um diretório no cartão de memória que será inserido no N800 (em meu caso o cartão que foi usado no primeiro tutorial, no diretório java).
Insira o cartão no N800, abra o X Terminal e digite:
cd /media/mmc1/java
java -cp /usr/share/java/swt-gtk.jar: SimpleSwtSample
O resultado deverá ser a tela abaixo:

Figura 03
A aplicação só faz escrever na tela uma mensagem de Olá Mundo e algumas informações sobre o sistema onde está instalado o Java. Ao se clicar no botão Fechar ou no X no canto superior direito a aplicação será fechada. Ah, e se você acha que é somente isso que dá para fazer com Java no Maemo, veja as telas do segundo exemplo, disponível no site do Jalimo.
Estes dois exemplos foram retirados do site do Jalimo, o primeiro eu modifiquei só um pouco e o segundo é tal como está lá. Estou disponibilizando para download o arquivo JavaMaemoSWT.zip (disponível no Box.net e no Mediafire), tanto os arquivos já compilados como os fontes. Fiquem a vontada para se divertir.
Ah, e antes que em me esqueça, na próxima parte deste tutorial, irei mostrar como rodar aplicativos com o toolkitt grático AWT.
Até lá.
Curtir isso:
Curtir Carregando...
Comentários