Tab na interface grafica e tamanho

Tenho esse código:

[code]
import java.awt.Frame;
import javax.swing.JTextField;
import java.awt.Rectangle;
import javax.swing.JTextPane;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.*;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.util.Calendar;
import javax.swing.JOptionPane;

/**

  • Title: DateBorn

  • Description: Get age a person

  • Copyright: Copyright (c) 2006

  • Company: AMNS

  • @author Alberto Marianno

  • @version 1.0
    */
    public class Idade extends Frame {
    public Idade() {
    super(“Date Born Project 1.0”);
    campoDataAtual.setText(dataAtual);
    try {
    jbInit();
    } catch (Exception ex) {
    ex.printStackTrace();
    }
    }

    private void jbInit() throws Exception {
    this.setLayout(null);
    campoDataAtual.setBounds(new Rectangle(197, 71, 73, 20));
    campoDataAtual.addActionListener(new Idade_jTextField1_actionAdapter(this));
    campoData.setBounds(new Rectangle(37, 119, 89, 20));
    campoData.addActionListener(new Idade_campoData_actionAdapter(this));
    campoMes.setBounds(new Rectangle(136, 119, 87, 20));
    campoMes.addActionListener(new Idade_campoMes_actionAdapter(this));
    campoAno.setBounds(new Rectangle(232, 119, 76, 20));
    campoAno.addActionListener(new Idade_campoAno_actionAdapter(this));
    textDataAtual.setText(“Data de Hoje:”);
    textDataAtual.setBounds(new Rectangle(87, 70, 89, 21));
    textData.setText(“Data ( DD )”);
    textData.setBounds(new Rectangle(48, 143, 58, 14));
    textMes.setText(“Mês (MM)”);
    textMes.setBounds(new Rectangle(143, 143, 67, 14));
    textAno.setText(“Ano (AAAA)”);
    textAno.setBounds(new Rectangle(241, 143, 81, 14));
    calcId.setBounds(new Rectangle(32, 250, 109, 23));
    calcId.setText(“Calcula Idade”);
    calcId.addActionListener(new Idade_jButton1_actionAdapter(this));
    limpaCampos.setBounds(new Rectangle(153, 250, 118, 23));
    limpaCampos.setText(“Limpar Campos”);
    limpaCampos.addActionListener(new Idade_limpaCampos_actionAdapter(this));
    ajuda.setBounds(new Rectangle(285, 250, 101, 23));
    ajuda.setText(“Ajuda”);
    ajuda.addActionListener(new Idade_ajuda_actionAdapter(this));
    AIdE.setText(“A Idade é:”);
    AIdE.setBounds(new Rectangle(58, 199, 60, 14));
    resId.setBounds(new Rectangle(120, 194, 214, 20));
    resId.addActionListener(new Idade_resId_actionAdapter(this));
    textDateBorn.setHorizontalAlignment(SwingConstants.CENTER);
    textDateBorn.setText(“DateBorn Project 1.0”);
    textDateBorn.setBounds(new Rectangle(49, 12, 284, 41));
    this.add(campoAno);
    this.add(campoMes);
    this.add(campoData);
    this.add(textAno);
    this.add(calcId);
    this.add(ajuda);
    this.add(limpaCampos);
    this.add(AIdE);
    this.add(resId);
    this.add(textDateBorn);
    this.add(textData);
    this.add(textMes);
    this.add(campoDataAtual);
    this.add(textDataAtual);
    }

    JTextField campoDataAtual = new JTextField();
    JTextField campoData = new JTextField();
    JTextField campoMes = new JTextField();
    JTextField campoAno = new JTextField();
    JLabel textDataAtual = new JLabel();
    JLabel textData = new JLabel();
    JLabel textMes = new JLabel();
    JLabel textAno = new JLabel();
    JButton calcId = new JButton();
    JButton limpaCampos = new JButton();
    JButton ajuda = new JButton();
    JLabel AIdE = new JLabel();
    JTextField resId = new JTextField();
    JLabel textDateBorn = new JLabel();

    String dataAtual = new SimpleDateFormat(“dd/MM/yyyy”).format(new Date());

    public int calculaIdade() {

     int ano = Integer.parseInt(campoAno.getText());
     int data = Integer.parseInt(campoData.getText());
     int mes = Integer.parseInt(campoMes.getText());
     // Create a calendar object with the date of birth
     Calendar dateOfBirth = new GregorianCalendar(ano, mes, data);
    
     // Create a calendar object with today's date
     Calendar today = Calendar.getInstance();
    
     // Get age based on year
     int age = today.get(Calendar.YEAR) - dateOfBirth.get(Calendar.YEAR);
    
     // Add the tentative age to the date of birth to get this year's birthday
     dateOfBirth.add(Calendar.YEAR, age);
    
     // If this year's birthday has not happened yet, subtract one from age
     if (today.before(dateOfBirth)) {
         age--;
     }
    
     return age;
    

    }

    public void jTextField1_actionPerformed(ActionEvent e) {

     //Aqui seto no campo campoDataAtual a data do dia
     //campoDataAtual.setText(dataAtual);
    

    }

    public void jButton1_actionPerformed(ActionEvent e) {

     //Aqui a ação de calcular a idade e setar no resId
     int res;
     String result;
     res = this.calculaIdade();
     result = String.valueOf(res);
     resId.setText(result);
    

    }

    public void limpaCampos_actionPerformed(ActionEvent e) {

     //Todos os campos são limpos para aguardar novos dados
     this.resId.setText("");
     this.campoAno.setText("");
     this.campoData.setText("");
     this.campoMes.setText("");
    

    }

    public void ajuda_actionPerformed(ActionEvent e) {

     //Aqui vai ficar a ação de ajuda (Fazer com JOptionPane)
     String message = "Para Calcular as idades basta colocar cada informação nos devidos campos. (DD/MM/AAAA)/nClicar no botão |Calcula idade|\nCriado pela AMNS :: Tecnologias\n Autor: Alberto MArianno\nCopyright © 2006 - Todos os direitos reservados.";
     JOptionPane.showMessageDialog(null, message, "AJUDA DATE BORN PROJECT 1.0",
                                   JOptionPane.INFORMATION_MESSAGE);
    

    }

    public void campoData_actionPerformed(ActionEvent e) {
    //Ação de Campo Data
    }

    public void campoMes_actionPerformed(ActionEvent e) {

     //Ação de Campo Mes
    

    }

    public void campoAno_actionPerformed(ActionEvent e) {

     //Ação de Campo ANo
    

    }

    public void resId_actionPerformed(ActionEvent e) {

     //Ação de Campo Recebe ID
    

    }
    }

class Idade_resId_actionAdapter implements ActionListener {
private Idade adaptee;
Idade_resId_actionAdapter(Idade adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
    adaptee.resId_actionPerformed(e);
}

}

class Idade_campoAno_actionAdapter implements ActionListener {
private Idade adaptee;
Idade_campoAno_actionAdapter(Idade adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
    adaptee.campoAno_actionPerformed(e);
}

}

class Idade_campoMes_actionAdapter implements ActionListener {
private Idade adaptee;
Idade_campoMes_actionAdapter(Idade adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
    adaptee.campoMes_actionPerformed(e);
}

}

class Idade_campoData_actionAdapter implements ActionListener {
private Idade adaptee;
Idade_campoData_actionAdapter(Idade adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
    adaptee.campoData_actionPerformed(e);
}

}

class Idade_ajuda_actionAdapter implements ActionListener {
private Idade adaptee;
Idade_ajuda_actionAdapter(Idade adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
    adaptee.ajuda_actionPerformed(e);
}

}

class Idade_limpaCampos_actionAdapter implements ActionListener {
private Idade adaptee;
Idade_limpaCampos_actionAdapter(Idade adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
    adaptee.limpaCampos_actionPerformed(e);
}

}

class Idade_jButton1_actionAdapter implements ActionListener {
private Idade adaptee;
Idade_jButton1_actionAdapter(Idade adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
    adaptee.jButton1_actionPerformed(e);
}

}

class Idade_jTextField1_actionAdapter implements ActionListener {
private Idade adaptee;
Idade_jTextField1_actionAdapter(Idade adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
    adaptee.jTextField1_actionPerformed(e);
}

}[/code]

Mais na tela dele eu não posso passar de um campo pra outro com TAB, só com o mouse. Além do mais, qdo coloco pra rodar ele naum vem grand. Como seta o tamanho dele?

Obrigado

Olá,

O Tab funciona na ordem que os componentes sao adicionados
ao container.

Para setar o tamanho da janela nao lembro qual metodo mas é um destes.
janela.setPrefferedSize janela.setSize janela.“setHeight & setWidth”

Valeu? Até… :thumbup:
[s]

Esse é o meu main…

[code]import java.awt.*;

public class IdMain {

public static void main(String[] args) {
    Idade dialog = new Idade();
    dialog.setSize(800,600);
    dialog.pack();
    dialog.show();
    

}

}[/code]

Não entendi o negocio do TAB e o dialog.setSize(880,600); nãao funcionou…

[quote=albjava]Esse é o meu main…

[code]import java.awt.*;

public class IdMain {

public static void main(String[] args) {
    Idade dialog = new Idade();
    dialog.setSize(800,600);
    dialog.pack();
    dialog.show();
    

}

}[/code]

Não entendi o negocio do TAB e o dialog.setSize(880,600); nãao funcionou…[/quote]

Uhmn, se voce tirar o “pack();” provavelmente ira funcionar…
Caso nao funcionar tente os outros metodos que eu falei…

E o negocio do tab funciona assim:

txtNome = new JTextField();
container.add( txtNome );

txtIdade = new JTextField()
container.add( txtIdade );

txtNome.requestFocus();
janela.setVisible( true );

Notou a sequencia que foi adicionado os TextFields ao container?
Será assim que funcionara o tab. no inicio ele estara com o foco no
TextField nome. apertando TAB ele passara o foco para o TextField Idade.

Valeu? Até… :thumbup:
[s]

Valeu resolvido… :smiley: