Chamar metodo pelo Botao

tenho um metodo que gera um arquivo.etq que imprimi em um impressora zebra:

quero saber como chamo esse metodo em um botao,
porque todas vez que preciso executar e gerar o arquivo.etq preciso dar shift+f6 no netbeans,
quero qe ao inves de dar shift+f6 no netbeans, simplesmente clicar no botao, executando e consequentemente gerando
o arquivo.etq

serei grato se puderem me ajudar…

[code]
pulblic class Botao extends JFrame implements ActionListener
{
private JButton botao;

public Botao()
{
botao = new JButton(“Oi eu sou um botão”);
botao.addActionListener( this );

this.size(300,300);
this.setVisible(true);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.add(botao);

}

public void actionPerformed(ActionEvent e)
{
//Chame seu metodo aki
}
}

}[/code]

como criar o botao eu sei, ja criei um formulario Jframe com o botao,

agora dentro do

private void jbGerarActionPerformed(java.awt.event.ActionEvent evt) {
}

que nao sei o que passar como parametro…

se eu fizer assim:

ClasseEiqueta ce = new ClasseEiqueta();
ce.GerarArquivo();

(esse metodo GerarArquivo ta dentro da classe ClasseEiqueta)
porem eu precisoar passar alguma coisa como parameto aki: ce.GerarArquivo([code]Parametro);[/code]
porque senao ele nao executa, tentei [/code]getname() (nem sei o que é getName()), ele gera o arquivo, mas nao com as etiques qe preciso imprimi, e se eu for na classe [code]ClasseEiqueta e dar shift+f6, ele gera tudo certinho…

Cara, alguns pontos:

1.Ajeite a formatação do teu último post que tá praticamente incompreenssível.

2.Você não precisa criar um novo objeto para chamar métodos estáticos, pode fazer uma referência direta a classe como:ClasseEtiqueta.GerarEtiqueta()

3.Não sabemos que string deve ir no parâmetro, então poste o código aonde você chama esse método.

  1. Quando não dá pra passar por parâmetro, é mais fácil armazenar em um atributo estático da classe. Assim, quando você precisar gravar, é só fazer referência a esse atributo. O melhor mesmo é usar esse seu getName(), mas você precisa usar um setName(String s) primeiro, pra poder setar a string com o conteúdo que você quer imprimir.

Tenta fazer o que eu te falei. Qualquer dúvida, posta aí.

na verdade tenho esse codigo abaixo qe gera o arquivo.etq com as etiquetas…
esse codigo ta blz, no momento qe eu executo com shift+f6 ele gera certinho as etiquetas que preciso
na quantidade que preciso

public class ClasseEiqueta {

     private Connection getConnection() {
        String etiqueta = "";
        String nom_cliente = "";
        String end_cliente = "";


        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 = (Connection) DriverManager.getConnection(url);
            System.out.println("\nAqui conn: " + conn.toString());

        } catch (SQLException sqlex) {
            mostrarErro("Erro ao se conectar");
        }


        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());


            String sql =  "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 = 690 "
+ "order by ordem_montag_mest.num_om, item.den_item ";
              PreparedStatement stmtt =  conn.prepareStatement(sql);
         ResultSet rss = stmtt.executeQuery();

              while (rss.next()){
                nom_cliente = rss.getString("nom_cliente");
                end_cliente = rss.getString("end_cliente");
                String cidade = rss.getString("den_cidade");
                String num_lote_om = rss.getString("num_lote_om");
                String num_om = rss.getString("num_om");
                String den_item = rss.getString("den_item");
                String cor = rss.getString("den_cor");
                float qtd_item = Float.parseFloat(rss.getString("qtd_pecas_solic"));
                String estado = rss.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);
        }

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

        System.out.println("Done!");
         return conn;
     }

aqui tenho o o metodo dentro da mesma classe etiqueta, o nome dele eh GerarAquivo como vcs podem ver

tudo isso assim como eu ja disse esta dentro da classe “ClasseEtiqueta”…

o que eu preciso: desenvolver uma interface (qe ja esta desenvolvida em um formularioJFrame) com um botao qe ao invés de executar com shift+f6,
simplesmente clico nesse botao e gero o arquivo com as etiquetas, ou seja substituir o shift+f6 pelo click no botao.

Ahhh, então você só precisa chamar o getconnection() no actionPerformed (se estiver em outra classe lembre-se de torna o método público):

//Dentro do actionPerformed
(new ClasseEtiqueta()).getConnection();

Qualquer outra dúvida, posta aí.

cara mesmo assim ele pede algum parametro pra eu passar dentro do getConnection():

mas nao sei o que colocar, tento colocar String textoEtiqueta que é o mesmo qe to passando como parametro no metodo GerarArquivo, mas nao reconhece…

amigo, deu certo…

tenho outra duvida agora…
sera que poderia me dar mais uma maozinha???

Claro… Assim que você contar pra gente sua dúvida…

no codigo acima, no meu select vc pode perceber qe tem essa linha la:

ja qe tenho o botao de gerar as etiquetas, quero qe ao inves de eu colocr
esse 690 qe esta ai, o usuario irá digitar isso em um jTextField para poder
gerar o arquivo.etq de acordo com o ordem_montag_lote.num_lote_om qe ele quiser
e nao de jeito qe esta ai…

Primeiro conselho: se é um número inteiro, não use um text field, use um JSpinner -> http://download.oracle.com/javase/tutorial/uiswing/components/spinner.html

Segundo, acrescente um argumento no seu método getConnection para receber o valor do spinner. Daí, no action event to pega o valor do spinner e joga no argumento receém criado de getConnection. Aí, você faz uma concatenação com o argumento bem onde fica o “690”. Deve funcionar. Se não conseguir, poste o seu código modificado até onde você conseguiu que te ajudaremos.