quarta-feira, 28 de novembro de 2012

Utilizando JQUERY para bloquear digitação em ZK

Atualmente o componente do zk intbox aceita digitação de '%' e '-'. Foi então que eu resolvi bloquear a digitação desses caracteres.
Exemplo: Na página temos o intbox de id num.


<intbox focus="true" id="num">

 <script type="text/javascript">

  function verificaNumero(e) {
   if(e.which == 37 || e.which == 45){ // código decimal da tecla % e -
    return false;
   }
  }
  zk.afterMount(function() {
   jq("$num").keypress(verificaNumero);
  });
 </script>








Referência para o código ASCII. Código ASCII

Utilizando jQuery (fadeIn e fadeOut) com Zk

Como utilizar os métodos fadeIn e fadeOut da biblioteca Jquery para mostrar mensagem em uma página Zk.
Segue o código:

teste.zul

    <zk xmlns:w="client">
     <button id="btn" label="Fade In" width="100px">
     <vlayout apply="tmp.WndViewCtrl" id="vLayoutWinSucess">
     </vlayout>
    </button> 

   </zk>


    WndViewCtrl.java

    package tmp;
    import org.zkoss.zk.ui.Component;
    import org.zkoss.zk.ui.Executions;
    import org.zkoss.zk.ui.util.GenericForwardComposer;
    import org.zkoss.zul.Button;
    import org.zkoss.zul.Vlayout;

    /**
     * Classe WndViewCtrl
     *
     * @author Marcio Andre Ishida
     * @since 26/11/2012
     * @version 1.0
     *
     * @see
     *
     */
    public class WndViewCtrl extends GenericForwardComposer {

     /**
      *
      */
     private static final long serialVersionUID = -8598269330170838439L;

     private Vlayout vLayoutWinSucess;
     private Button btn;
   
     /**
      *
      *
      */
     @Override
     public void doAfterCompose(Component comp) throws Exception {
      super.doAfterCompose(comp);
     }

     public void onClick$btn() throws Exception {
      if(this.vLayoutWinSucess.getChildren().size() > 0)
       this.vLayoutWinSucess.getChildren().clear();
      Executions.createComponents("testeShow.zul", this.vLayoutWinSucess, null);
     }
    }

    Agora a página que iremos mostrar a mensagem!

    testeShow.zul

    <window apply="test.WinUpdateSucessViewCtrl" border="normal" closable="false" height="100px" id="winUpdateSucess" mode="overlapped" position="center" style="display: none;" title=" " width="350px">
   
     <label value="TESTE SALVO COM SUCESSO">

</window>



    WinUpdateSucessViewCtrl.java

    /**
     * Pacote contendo as classes test do servicebot3_1_01
     */
    package test;

    import org.zkoss.zk.ui.Component;
    import org.zkoss.zk.ui.util.Clients;
    import org.zkoss.zk.ui.util.GenericForwardComposer;
    import org.zkoss.zul.Window;

    /**
     * Classe WinUpdateSucessViewCtrl
     *
     * @author Marcio Andre Ishida
     * @since 26/11/2012
     * @version 1.0
     *
     * @see
     *
     */
    public class WinUpdateSucessViewCtrl extends GenericForwardComposer {

     /**
      *
      */
     private static final long serialVersionUID = -8599935583066009856L;
     private Window winUpdateSucess;

     /**
      *
      *
      */
     @Override
     public void doAfterCompose(Component comp) throws Exception {
      super.doAfterCompose(comp);
      fadeIn();
      fadeOut();
     }

     public void fadeIn(){
      String jqCommand = "jq(\"$winUpdateSucess\").fadeIn(500)";
      Clients.evalJavaScript(jqCommand);
     }

     public void fadeOut(){
      String jqCommand = "jq(\'$winUpdateSucess\').fadeOut(1500)";
      Clients.evalJavaScript(jqCommand);
     }

    }

terça-feira, 11 de outubro de 2011

Framework RIA ZK.

Um poderoso framework para desenvolvimento web, que nada mais é um Ajax Web application framework, sendo open-source e escrito em java. O ZK permite a criação de interface gráfica para aplicativos web.

Umas das caracteristicas do ZK é que ele possui suporte para integração com frameworks web existentes através de uma biblioteca personalizadas JSP, JSF e um Filtro Servlet e também tem suporte para Spring e Hibernate.

Requisitos do Sistema:

  • JRE versão 1.4 ou posterior
  • Um servidor Web de apoio Servlet 2.3 ou posterior
Pré-requisitos de habilidades de programação :
  • Conhecimentos básicos de Java
  • Conhecimento básico de HTML e XUL
Referências :

sexta-feira, 12 de novembro de 2010

Servidor FTP em Java usando sockets

Classe cliente:

/**
* @author marcio.ishida
*
*/
public class ClienteMain {

/**
* @param args
*/
public static void main(String[] args) {
int port = 5298;
String IP = "localhost";
// Caminho do destinho
//String caminhoDestino = "C:/Temp/Arquivo/";
String caminhoDestino = "C:/Documents and Settings/marcio.ishida/Desktop/arquivos/";
try {
// Abrindo o socket
Socket MyClient = new Socket(IP, port);

// Cria stream de entrada e saída
DataInputStream input = new DataInputStream(MyClient.getInputStream());
DataOutputStream output = new DataOutputStream(MyClient.getOutputStream());
// Recebe mensagem
System.out.println(input.readUTF());

String arquivo = JOptionPane.showInputDialog("Entre com o nome do aqruivo");
// Envia mensagem
output.writeUTF(arquivo);

ObjectInputStream in = new ObjectInputStream(MyClient.getInputStream());
String fileName = in.readUTF();

if(fileName != null){
long size = in.readLong();
System.out.println("Processando arquivo: " + fileName + " - "+ size + " bytes.");

// Verifica se tem a pasta de destino criada, caso nao tenha ele cria
File file = new File(caminhoDestino);
if(file.exists() == false){
file.mkdir();
}

FileOutputStream fos = new FileOutputStream(caminhoDestino + fileName);
byte[] buf = new byte[4096];
while (true) {
int len = in.read(buf);
if (len == -1)
break;

fos.write(buf, 0, len);
}

fos.flush();
fos.close();
}
System.out.println(input.readUTF());
MyClient.close();

} catch (Exception e) {
System.err.println("CLIENTE ERRO: " + e.toString());
}

}

}


Classe servidor:


/**
* @author marcio.ishida
*
*/
public class ServerMain {

/**
* @param args
*/
public static void main(String[] args) {
int port = 5298;
try {
// Abrindo o socket
ServerSocket ss = new ServerSocket(port);

// Caminho que vai procurar o arquivo passado pelo cliente
String caminho = "C:/Documents and Settings/marcio.ishida/Meus documentos/";
//File f = new File("C:/Documents and Settings/marcio.ishida/Meus documentos/telaStatus.jar");
while (true) {
System.out.println("Esperando por arquivos.");
Socket socket = ss.accept();

DataInputStream input = new DataInputStream(socket.getInputStream());
DataOutputStream output = new DataOutputStream(socket.getOutputStream());
// Envia mensagem
output.writeUTF("Bem-vindo, você está conectado.");

String arquivo = input.readUTF();
System.out.println("Arquivo :" + arquivo);
File file = new File(caminho + arquivo);

if(file.exists()){
ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());
System.out.println("Transferindo o arquivo: " + file.getName());
out.writeUTF(file.getName());
out.writeLong(file.length());
FileInputStream filein = new FileInputStream(file);
byte[] buf = new byte[4096];

while (true) {
int len = filein.read(buf);
if (len == -1)
break;
out.write(buf, 0, len);
}
out.close();
output.writeUTF("Arquivo enviado:");

}else{
output.writeUTF("Não existe o arquivo!");
}
ss.close();
}
} catch (Exception e) {
System.err.println("SERVIDOR ERRO: " + e.toString());
}

}

}


REFERÊNCIA : http://guj.com.br/article.show.logic?id=154