Chamar metodo pelo Botao

5 respostas
M

bom dia so novo no forum…

seguinte, tenho uma classe em java qe gera um arquivo.etq pra imprimir etiquetas em uma impressora zebra conforme o codigo abaixo:

import com.sun.org.apache.bcel.internal.util.Class2HTML;

import <a href="http://java.io">java.io</a>.<em>;

import java.sql.</em>;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

/**

*

*/
public class Main {

/**

  • @param args the command line arguments
    */
    public static void main(String[] args) throws ParseException {
    // TODO code application logic here
    String etiqueta = “”;
    String cod_empresa = “”;
    String cnpj_cliente = “”;
    String nom_cliente = “”;
    String end_cliente = “”; //endereço do cliente
    String cod_cidade;
    String des_item;

Statement stmt;
ResultSet rs;

String url = (“jdbc:informix-sqli://192.168.0.242:1525ATABASE=logix;INFORMIXSERVER=prdfiasini;user=informix;password=informix”);

Connection conn = null;

System.out.println(url);

try {

Class.forName(“com.informix.jdbc.IfxDriver”);

}

catch (Exception e) {

System.out.println(e);

}
try {

conn = DriverManager.getConnection(url);

System.out.println("\nAqui conn: " + conn.toString());

} catch (SQLException e) {

System.out.println(“FAILED: failed to connect!”);

}

try {

System.out.println(“Connected …”);

DatabaseMetaData md = conn.getMetaData();

System.out.println("Driver name: " + md.getDriverName());

System.out.println("Driver version: " + md.getDriverVersion());

System.out.println("Database product name: "
  • md.getDatabaseProductName());
    System.out.println("Database product version: "
  • md.getDatabaseProductVersion());
stmt = conn.createStatement();

//rs = stmt.executeQuery(“select cod_empresa, num_ordem from ordens”);

rs = stmt.executeQuery( "select clientes.nom_cliente, "
  • "clientes.end_cliente, "
  • "cidades.den_cidade, "
  • "ordem_montag_lote.num_lote_om, "
  • "ordem_montag_mest.num_om, "
  • "item.den_item, "
  • "cores.den_cor, "
  • "ped_itens_grade.qtd_pecas_solic, "
  • "cidades.cod_uni_feder "
    /*ordem_montag_item.num_pedido,
    pedidos.cod_cliente,
    ped_itens.num_sequencia,
    ped_itens_grade.qtd_pecas_solic, */
  • "from ordem_montag_mest join ordem_montag_item on (ordem_montag_mest.cod_empresa = ordem_montag_item.cod_empresa and ordem_montag_mest.num_om = ordem_montag_item.num_om) "
  • "join ordem_montag_lote on (ordem_montag_lote.cod_empresa = ordem_montag_mest.cod_empresa and ordem_montag_lote.num_lote_om = ordem_montag_mest.num_lote_om) "
  • "join pedidos on (pedidos.cod_empresa = ordem_montag_item.cod_empresa and pedidos.num_pedido = ordem_montag_item.num_pedido) "
  • "join ped_itens on (pedidos.cod_empresa = ped_itens.cod_empresa and pedidos.num_pedido = ped_itens.num_pedido and ordem_montag_item.num_sequencia = ped_itens.num_sequencia) "
  • "join estrut_grade on (ped_itens.cod_item = estrut_grade.cod_item_pai and ped_itens.cod_empresa = estrut_grade.cod_empresa) "
  • "join ped_itens_grade on (ped_itens_grade.cod_empresa = ped_itens.cod_empresa "
  • "and ped_itens_grade.num_pedido = ped_itens.num_pedido "
  • "and ped_itens_grade.num_sequencia = ped_itens.num_sequencia "
  • "and ped_itens_grade.cod_grade_1 = estrut_grade.cod_grade_1) "
  • "join item on (estrut_grade.cod_empresa = item.cod_empresa and estrut_grade.cod_item_compon = item.cod_item) "
  • "join cores on (ped_itens_grade.cod_grade_1 = cores.cod_cor) "
  • "join clientes on (pedidos.cod_cliente = clientes.cod_cliente) "
  • "join cidades on (clientes.cod_cidade = cidades.cod_cidade) "
  • "where ordem_montag_lote.num_lote_om = 448 "
  • "order by ordem_montag_mest.num_om, item.den_item ");
while (rs.next()){

//cod_empresa = rs.getString(“empresa”);

//cnpj_cliente = rs.getString(“cliente”);

nom_cliente = rs.getString(nom_cliente);

end_cliente = rs.getString(end_cliente);

//cod_cidade = rs.getString(“cod_cidade”);

String cidade = rs.getString(den_cidade);

String num_lote_om = rs.getString(num_lote_om);

String num_om = rs.getString(num_om);

//String cod_item = rs.getString(“cod_item”);

String den_item = rs.getString(den_item);

String cor = rs.getString(den_cor);

float qtd_item = Float.parseFloat(rs.getString(qtd_pecas_solic));

String estado = rs.getString(cod_uni_feder);

int int_qtd_item = Float.floatToIntBits(qtd_item);

System.out.println(qtd_item);

/*

qtd_planej = Float.parseFloat(rs.getString(“qtd_planej”));

int_qtd_planej = Float.floatToIntBits(qtd_planej);

*

*/
//etiqueta += “^F030,55^XGR:LOGO,1,1^FS”;

//FO -> Margem esquerda

/*

SimpleDateFormat formatador = new SimpleDateFormat(yyyy-mm-dd);

Date data = formatador.parse(dat_entrega);
SimpleDateFormat novoFormatador = new SimpleDateFormat(dd/mm/yyyy);

dat_entrega = novoFormatador.format(data);

*

*/
for( int i = 0; i < qtd_item; i++ )

{

etiqueta += ^XA;

etiqueta += \n^FWR”;

etiqueta += \n ^FO660,40^A0,50,40^FDCliente: ^FS;

etiqueta += \n^FO650,170^A0,75,45^FD”+nom_cliente.trim()+"^FS";

etiqueta += \n^FO560,40^A0,50,40^FDEndereco: ^FS;

etiqueta += \n^FO550,200^A0,60,40^FD”+end_cliente.trim()+"^FS";

etiqueta += \n^FO460,40^A0,50,40^FDCidade: ^FS;

etiqueta += \n^FO450,170^A0,60,40^FD”+cidade.trim()+"^FS";

etiqueta += \n^FO360,40^A0,50,40^FDNum Lote: ^FS;

etiqueta += \n^FO350,210^A0,68,40^FD”+num_lote_om.trim()+"^FS";

etiqueta += \n^FO260,40^A0,50,40^FDNum OM: ^FS;

etiqueta += \n^FO255,200^A0,68,40^FD”+num_om.trim()+"^FS";

etiqueta += \n^FO160,40^A0,50,40^FDItem: ^FS;

etiqueta += \n^FO150,160^A0,68,40^FD”+den_item.trim()+"^FS";

//etiqueta += “\n^FO360,40^A0,50,30^FDProduto: ^FS”;

//etiqueta += “\n^FO350,140^A0,68,30^FD”+des_item.trim()+"^FS";

etiqueta += \n^FO70,40^A0,50,35^FDCor: ^FS;

etiqueta += \n^FO70,140^A0,60,35^FD”+cor.trim()+"^FS";

etiqueta += \n^FO460,510^A0,50,35^FDEstado: ^FS;

etiqueta += \n^FO450,630^A0,60,35^FD”+estado.trim()+"^FS";

//etiqueta += “\n^FO40,140^ABN,20,10^FD”+dat_entrega+"^FS";

//etiqueta += “\n^FO40,180,^B2,150,Y,N,N”;

//etiqueta += “\n^FO40,60^A0,25,20^FD”+des_item.trim()+"^FS";

//etiqueta += “\n^FO40,350^ABR,30,20^FD”+des_item.trim()+"^FS"; //ABN,30,20 -> 20 É O TAMANHO DA FONTE

//O “R” deve imprimir tarja preta com escrita branca

etiqueta += \n^XZ”;

}

GerarArquivo(etiqueta);

<a href="//System.out.println">//System.out.println</a>(cod_empresa);

<a href="//System.out.println">//System.out.println</a>(num_ordem);

} //fim while (rs.next())
} catch (SQLException e) {

<a href="//System.out.println">//System.out.println</a>(“FAILED: failed to connect!”);

System.out.println(e);

}

try {

conn.close();

} catch (SQLException e) {

System.out.println(“FAILED: failed to close the connection!”);

}

System.out.println(“Done!”);

}
public static String GerarArquivo( String textoEtiqueta ){

try{

File arquivo;
arquivo = new File("\\192.168.0.230\scanner\entrega448.etq");

FileOutputStream fos = new FileOutputStream(arquivo);

String texto = textoEtiqueta;

fos.write(texto.getBytes());

fos.close();

}

catch (Exception ee) {

ee.printStackTrace();

}

return ok;

}

}

preciso criai uma tela pra um usuario digitar o numero do lote qe esta nessa linha + "where ordem_montag_lote.num_lote_om = 448 ", mas nao estou conseguindo…

to tentando chamar uma classe por um botao, mas nao esta dando mto certo…
codigo do botao:

Main main = new Main();
main.GerarArquivo();

preciso pra alguma coisa como parametro nessa linha : main.GerarArquivo(parametroAqui);

mas nao sei o qe passar…

se puderem me ajudar seirei grato…

obrigado…

5 Respostas

P

Amigo,

Primeira recomendação, coloque seu código com a tag [code]

Segundo, divida sua lógica em classes:

Uma classe para o Objeto Empresa,
Uma classe para A Geração da Etiqueta
Outra classe só para a consulta com o banco de dados.. Assim vai ficar mais fácil de você se achar e também a gente poder te ajudar.
E outra classe que vai ter a tela.

Para fazer a tela que a pessoa vai colocar o código é só fazer um JOptionPane.. Se esse for o seu problema.

M

como assim tag??

AlissonSchneider

Seguinte amigo os códigos aqui são colocados na tag code exemplo

ela se localiza acima do Text Area ao lado dos botões B, i, u, quote…

abrass

:wink:

M

na verdade esse codigo ta criando o arquivo com o numero de etiquetas exatas, so nao consigo
jogar ele no botao pra poder executar a partir da tela mesmo

M

esse daqui eh o codigo reduzido, no que eu postei acima tinha alguns comentrios

public static void main(String[] args) throws ParseException {

String etiqueta = "";
    String cod_empresa = "";
    String cnpj_cliente = "";
    String nom_cliente = "";
    String end_cliente = ""; 
    String cod_cidade;
    String des_item;

    Statement stmt;
    ResultSet rs;

    String url = ("jdbc:informix-sqli://192.168.0.242:1525:DATABASE=logix;INFORMIXSERVER=prdfiasini;user=informix;password=informix");

    Connection conn = null;

    System.out.println(url);

    try {
         Class.forName("com.informix.jdbc.IfxDriver");
    }
    catch (Exception e) {
        System.out.println(e);
    }

     try {
        conn = DriverManager.getConnection(url);
        System.out.println("\nAqui conn: " + conn.toString());
    } catch (SQLException e) {
        System.out.println("FAILED: failed to connect!");
    }
    try {
        System.out.println("Connected ...");
        DatabaseMetaData md = conn.getMetaData();
        System.out.println("Driver name: " + md.getDriverName());
        System.out.println("Driver version: " + md.getDriverVersion());
        System.out.println("Database product name: "
                + md.getDatabaseProductName());
        System.out.println("Database product version: "
                + md.getDatabaseProductVersion());

        stmt = conn.createStatement();
        rs = stmt.executeQuery( "select clientes.nom_cliente,  "
        + "clientes.end_cliente, "
        + "cidades.den_cidade, "
        + "ordem_montag_lote.num_lote_om, "
        + "ordem_montag_mest.num_om, "
        + "item.den_item, "
        + "cores.den_cor, "
        + "ped_itens_grade.qtd_pecas_solic, "
        + "cidades.cod_uni_feder "
 + "from ordem_montag_mest join ordem_montag_item on (ordem_montag_mest.cod_empresa = ordem_montag_item.cod_empresa and ordem_montag_mest.num_om = ordem_montag_item.num_om) "
 + "join ordem_montag_lote on (ordem_montag_lote.cod_empresa = ordem_montag_mest.cod_empresa and ordem_montag_lote.num_lote_om = ordem_montag_mest.num_lote_om) "
 + "join pedidos on (pedidos.cod_empresa = ordem_montag_item.cod_empresa and pedidos.num_pedido = ordem_montag_item.num_pedido) "
 + "join ped_itens on (pedidos.cod_empresa = ped_itens.cod_empresa and pedidos.num_pedido = ped_itens.num_pedido  and ordem_montag_item.num_sequencia = ped_itens.num_sequencia) "
 + "join estrut_grade on (ped_itens.cod_item = estrut_grade.cod_item_pai and ped_itens.cod_empresa = estrut_grade.cod_empresa) "
 + "join ped_itens_grade on (ped_itens_grade.cod_empresa = ped_itens.cod_empresa "
 +                         "and ped_itens_grade.num_pedido = ped_itens.num_pedido "
 +                         "and ped_itens_grade.num_sequencia = ped_itens.num_sequencia "
 +                         "and ped_itens_grade.cod_grade_1 = estrut_grade.cod_grade_1) "
 + "join item on (estrut_grade.cod_empresa = item.cod_empresa and estrut_grade.cod_item_compon = item.cod_item) "
 + "join cores on (ped_itens_grade.cod_grade_1 = cores.cod_cor) "
 + "join clientes on (pedidos.cod_cliente = clientes.cod_cliente) "
 + "join cidades on (clientes.cod_cidade = cidades.cod_cidade) "
  • "where ordem_montag_lote.num_lote_om = 352 "

  • "order by ordem_montag_mest.num_om, item.den_item ");

    while (rs.next()){
              
              nom_cliente = rs.getString("nom_cliente");
              end_cliente = rs.getString("end_cliente");                
              String cidade = rs.getString("den_cidade");
              String num_lote_om = rs.getString("num_lote_om");
              String num_om = rs.getString("num_om");               
              String den_item = rs.getString("den_item");
              String cor = rs.getString("den_cor");
              float qtd_item = Float.parseFloat(rs.getString("qtd_pecas_solic"));
              String estado = rs.getString("cod_uni_feder");
              int int_qtd_item = Float.floatToIntBits(qtd_item);
              System.out.println(qtd_item);
    
              for( int i = 0; i < qtd_item; i++ )
              {
                etiqueta += "^XA";
                etiqueta += "\n^FWR";
                etiqueta += "\n ^FO660,40^A0,50,40^FDCliente: ^FS";
                etiqueta += "\n^FO650,170^A0,75,45^FD"+nom_cliente.trim()+"^FS";
                etiqueta += "\n^FO560,40^A0,50,40^FDEndereco: ^FS";
                etiqueta += "\n^FO550,200^A0,60,40^FD"+end_cliente.trim()+"^FS";
                etiqueta += "\n^FO460,40^A0,50,40^FDCidade: ^FS";
                etiqueta += "\n^FO450,170^A0,60,40^FD"+cidade.trim()+"^FS";
                etiqueta += "\n^FO360,40^A0,50,40^FDNum Lote: ^FS";
                etiqueta += "\n^FO350,210^A0,68,40^FD"+num_lote_om.trim()+"^FS";
                etiqueta += "\n^FO260,40^A0,50,40^FDNum OM: ^FS";
                etiqueta += "\n^FO255,200^A0,68,40^FD"+num_om.trim()+"^FS";
                etiqueta += "\n^FO160,40^A0,50,40^FDItem: ^FS";
                etiqueta += "\n^FO150,160^A0,68,40^FD"+den_item.trim()+"^FS";
                etiqueta += "\n^FO70,40^A0,50,35^FDCor: ^FS";
                etiqueta += "\n^FO70,140^A0,60,35^FD"+cor.trim()+"^FS";
                etiqueta += "\n^FO460,510^A0,50,35^FDEstado: ^FS";
                etiqueta += "\n^FO450,630^A0,60,35^FD"+estado.trim()+"^FS";
              
                etiqueta += "\n^XZ";
              }
              GerarArquivo(etiqueta);               
          }
      } catch (SQLException e) {
         System.out.println(e);
      }
      try {
          conn.close();
      } catch (SQLException e) {
          System.out.println("FAILED: failed to close the connection!");
      }
      System.out.println("Done!");
    

    }

    public static String GerarArquivo( String textoEtiqueta ){
    
    try{
    
    File arquivo;
    
    arquivo = new File("\\\\192.168.0.230\\scanner\\entrega000.etq");
        FileOutputStream fos = new FileOutputStream(arquivo);
        String texto = textoEtiqueta;
        fos.write(texto.getBytes());
        fos.close();
    }
    catch (Exception ee) {
        ee.printStackTrace();
    }
    return "ok";
    

    }

Criado 24 de janeiro de 2011
Ultima resposta 24 de jan. de 2011
Respostas 5
Participantes 3