Capturar dado do usuário

1 resposta
L

Boa tarde pessoALL,

Sou iniciante em Java (vcs devem estar cansados de ouvir isso, rs), na verdade eu sou programadora COBOL e preciso desenvolver um exemplo de Java acessando o COBOL e ai parte meu problema:
A minha pergunta é meio idiota, mas é pq eu não tenho conhcimento algum mesmo na linguagem…

Como eu faço para capturar um dado da tela pra uma variável? O programa funciona, acontece que eu já estou passando os valores (está fixo) que o COBOL precisa receber, e o que eu preciso é que estes dados sejam digitados na tela…

Vou colar um pedaço do programa:

import java.awt.;
import java.awt.event.
;

public class DemoFrame extends Frame
{

BorderLayout borderLayout1 = new BorderLayout();

MenuBar      ApplicationMenu = new MenuBar();

Menu	       menu1 = new Menu();

Menu	       menu2 = new Menu();

MenuItem     menuItem2 = new MenuItem();

MenuItem     menuItem1 = new MenuItem();

GridLayout   gridLayout1 = new GridLayout();

Label	       nome_cliente_label = new Label();

TextField    nome_cliente_field = new TextField();

Label	       email_cliente_label = new Label();

TextField    email_cliente_field = new TextField();

Label	       codigo_cliente_label = new Label();

TextField    codigo_cliente_field = new TextField();

Menu	       menu3 = new Menu();

MenuItem     menuItem3 = new MenuItem();

MenuItem     menuItem4 = new MenuItem();

Button       okButton = new Button();

Label        blank1 = new Label();

//RecordDemo   rd;

//RecordData   customerDetails;

Demo   rd;

Dados  dadosCliente;
public DemoFrame()

{

try

{

jbInit();

}

catch (Exception e)

{

e.printStackTrace();

}

}
private void jbInit() throws Exception

{

this.setLayout(borderLayout1);

this.setSize(new Dimension(400, 300));

this.setTitle(Clientes);

okButton.setLabel(Gravar);

okButton.setSize(50, 2);

blank1.setVisible(false);

blank1.setText(blank1);

menu1.setLabel(Arquivo);

menu2.setLabel(Ajuda);

menuItem2.setLabel(About);

menuItem2.addActionListener(new java.awt.event.ActionListener()

{
public void actionPerformed(ActionEvent e)
  {
menuItem2_actionPerformed(e);
  }

});
menuItem1.setLabel("Sair");
nome_cliente_label.setText("Nome:");
nome_cliente_field.setColumns(30);
nome_cliente_field.setEditable(true);
email_cliente_label.setText("E-mail:");
email_cliente_field.setColumns(30);
email_cliente_field.setEditable(true);
codigo_cliente_label.setText("Código:");
codigo_cliente_field.setColumns(6);
codigo_cliente_field.setEditable(true);
menu3.setLabel("Executar");
menuItem4.setLabel("Consultar");
menuItem3.setLabel("Cadastro");
gridLayout1.setRows(5);
menuItem1.addActionListener(new java.awt.event.ActionListener()
{

  public void actionPerformed(ActionEvent e)
  {
menuItem1_actionPerformed(e);
  }

});
this.setLayout(gridLayout1);
ApplicationMenu.add(menu1);
ApplicationMenu.add(menu3);
ApplicationMenu.add(menu2);
menu2.add(menuItem2);
this.setMenuBar(ApplicationMenu);
menu1.add(menuItem1);
this.add(codigo_cliente_label, null);
this.add(codigo_cliente_field, null);
this.add(nome_cliente_label, null);
this.add(nome_cliente_field, null);
this.add(email_cliente_label, null);
this.add(email_cliente_field, null);
this.add(okButton, null); 
this.add(blank1, null);
menu3.add(menuItem3);
menu3.add(menuItem4);

/* Create RecordDemo and CustomerDetails record */
this.rd = new Demo();  
this.dadosCliente = new Dados("Nome", "E-mail ", 000000);  (É NESTA LINHA QUE ESTOU COM DIFICULDADE)

okButton.addActionListener(new java.awt.event.ActionListener()
{
  public void actionPerformed(ActionEvent e)
  {
    okButton_actionPerformed(e);
  }
});

Aqui está o programa que passa os dados para o COBOL:

import com.microfocus.cobol.*;

public class Demo

{

public Demo()

{

}
public void setDetails(Dados dadosCliente) throws CobolException, Exception
{
   int retcode;

   // pass the details to the COBOL program
   Object[] params = { dadosCliente};
   try 
   {
       retcode = RuntimeSystem.cobcall("RecordDemo", params);
   }
   catch (Exception e)
   {
   System.exit(0);
   }
}

Qualquer ajuda será bem vinda… tks =)

1 Resposta

H

Bom, bem vinda…

Olha você para pegar os dados que foram digitados nos TextFields, usa a função getText();

Exemplo

//Por exemplo, quero pega o nome do cliente:
String nomeCliente;
nomeCliente = nome_cliente_field.getText();
//agora na variavel nomeCliente ha a string que foi digitada no Text field

é claro que algumas vezes você não quer uma String , quer um número , aí vc vai ter que usar um parser para conseguir o numero…

String numero;
numero = algumTextField.getText();
int numeroVerdadeiro;
numeroVerdadeiro = Integer.parseInt(numero);

aaa, use as tags de code para postar o seu código, isso ajuda o pessoal que vai te ajudar.

Criado 28 de julho de 2008
Ultima resposta 29 de jul. de 2008
Respostas 1
Participantes 2