quinta-feira, 26 de abril de 2007

Acessando JavaScript via Applet



Muitas vezes pode ser útil delegar uma tarefa de dentro de uma applet para ser realizada via JavaScript, como por exemplo, o simples download de um arquivo. Isso nos economiza algumas centenas de linhas de código.

O código a seguir mostra como podemos invocar de dentro da uma applet a função javascript alertar com um parâmetro "Mensagem qualquer".

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JApplet;
import javax.swing.JButton;

public class AppletTeste extends JApplet {

private JButton btnJavaScript;

public void init() {
    inicializaTela();
}

private void inicializaTela() {
    setSize(250, 50);

    btnJavaScript = new JButton("Testar JavaScript de uma Applet");
    btnJavaScript.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
        chamarJavaScript();
     }});

    add(btnJavaScript);
}

private void chamarJavaScript() {
    JSObject win = JSObject.getWindow(this);
    win.call("alertar", new Object[]{"Mensagem qualquer"});
}

}


Para compilar este exemplo, é necessário fazer uma referência a classe plugin.jar que está localizada na pasta lib do seu jre, da seguinte forma:

javac -cp "localizacao_do_seu_jre\lib\plugin.jar" AppletTeste.java

Agora, vamos criar a página html para que a applet possa ser exibida:

<applet code="AppletTeste.class" mayscript="" height="50" width="250">
</applet>

<script language="javascript">

function alertar(msg) {
    alert(msg);
}

</script>

quarta-feira, 18 de abril de 2007

Napkin Look and Feel

Dando uma lida, acabei encontrando o "Napkin Look and Feel" que pode ser utilizado em aplicações com interfaces gráficas em Java. Ele básicamente simula uma tela de rascunho que muitas vezes desenhamos em um guardanapo (napkin) :]


A instalação é simples. Após baixar as bibliotecas da página e acrescentá-las ao classpath do projeto, basta acrescentar o seguinte código no início de suas aplicações:
try {
UIManager.setLookAndFeel(
new net.sourceforge.napkinlaf.NapkinLookAndFeel());

} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
Mais informações:

http://napkinlaf.sourceforge.net/

Primeiro post...

Vamos ver como isso funciona....