Focus

6 respostas
M

Oi pessoal, por favor como faço para quando um Frame for exibido na tela, um componente TextField receba um focus automaticamente.

Marcos…

muito obrigado…

6 Respostas

E

eae blz???

use o comando .setfocus();

no seu contrutor da classe do frame +ou - assim

public frame() {
   ... linhas do construtor do frame( da janelinha )

   jTextField.setFocus();
}

vc definindo o nome do textfield dentro do seu construtor com essa
linha de comando vc irá setar o foco para este ao iniciar
a sua janela :wink:

[]'s
Erko Bridee

M

Oi amigo, eu já tentei o .setFocus, .requestFocus() e outros mas mesmo assim nada…

Muito obrigado pela atenção…

Marcos…

E

tranquilo se quizer mandar o seu código pra mim verificar
e te ajudar podi mandar aki
ou no meu mail:

[email removido]

[]'s
Erko Bridee :wink:

E

“mls”:
Oi amigo, eu já tentei o .setFocus, .requestFocus() e outros mas mesmo assim nada…

Muito obrigado pela atenção…

Marcos…

Tenta o grabFocus();

textField.grabFocus();
M

“AnjoSupremo”:
tranquilo se quizer mandar o seu código pra mim verificar
e te ajudar podi mandar aki
ou no meu mail:

[email removido]

[]'s
Erko Bridee :wink:

import java.awt.<em>;

import javax.swing.</em>;

import java.awt.event.*;
class Cadastro extends JFrame implements ActionListener

{

Container cont = getContentPane();

JPanel pButtonGroup, pDadosPessoais, pNome, pEnde, pTel, pCpf, pEmail;

JPanel pButton;

JButton btnInserir, btnCancelar;

ButtonGroup grupo;

JRadioButton radioAccess, radioMysql;

JLabel lbNome, lbEnde, lbTel, lbCpf, lbEmail;

JTextField txtNome, txtEnde, txtTel, txtCpf, txtEmail;
Cadastro()
{
	setSize(400, 290);
	setLocation(250, 150);
	setTitle("Cadastro");
	setResizable(false);
	cont.setLayout(new FlowLayout());
	
	pButtonGroup = new JPanel(new FlowLayout());
	cont.add(pButtonGroup);
	grupo = new ButtonGroup();
	radioAccess = new JRadioButton("Salvar em Access");
	radioMysql = new JRadioButton("Salvar no mySQL");
	cont.add(radioAccess);
	cont.add(radioMysql);
	grupo.add(radioAccess);
	grupo.add(radioMysql);
	
	// Panel com os dados pessoais
	pDadosPessoais = new JPanel(new GridLayout(5, 1, 6, 6));
	cont.add(pDadosPessoais);
	
	lbNome = new JLabel("Nome:        ");
	lbEnde = new JLabel("Endereço: ");
	lbTel = new JLabel("Telefone:   ");
	lbCpf = new JLabel("Cpf:             ");
	lbEmail = new JLabel("E-mail:       ");
	
	txtNome = new JTextField(29);
	txtNome.grabFocus();
	txtEnde = new JTextField(29);
	txtTel = new JTextField(13);
	txtCpf = new JTextField(13);
	txtEmail = new JTextField(29);
	
	pNome = new JPanel(new FlowLayout(0, 0, 5));
	pEnde = new JPanel(new FlowLayout(0, 0, 5));
	pTel = new JPanel(new FlowLayout(0, 0, 5));
	pCpf = new JPanel(new FlowLayout(0, 0, 5));
	pEmail = new JPanel(new FlowLayout(0, 0, 5));
	
	pDadosPessoais.add(pNome);
	pNome.add(lbNome);
	pNome.add(txtNome);
	
	pDadosPessoais.add(pEnde);
	pEnde.add(lbEnde);
	pEnde.add(txtEnde);
	
	pDadosPessoais.add(pTel);
	pTel.add(lbTel);
	pTel.add(txtTel);
	
	pDadosPessoais.add(pCpf);
	pCpf.add(lbCpf);
	pCpf.add(txtCpf);
	
	pDadosPessoais.add(pEmail);
	pEmail.add(lbEmail);
	pEmail.add(txtEmail);
	
	pButton = new JPanel(new FlowLayout());
	cont.add(pButton);
	btnInserir = new JButton("inserir");
	btnInserir.addActionListener(this);
	btnCancelar = new JButton("cancelar");
	btnCancelar.addActionListener(this);
	pButton.add(btnInserir);
	pButton.add(btnCancelar);
	
	addWindowListener(new WindowAdapter()
	{
		public void windowClosing(WindowEvent e) 
		{
			System.exit(0);
		}
	});
}

public void actionPerformed(ActionEvent e)
{
	// Clicando em btnInserir
	if(e.getSource() == btnInserir)
	{
		if(radioAccess.isSelected() == false)
		{
			if(radioMysql.isSelected() == false)
			{
				JOptionPane.showMessageDialog(null, "Defina a base de dados em que deseja salvar.");
			}
			else
			{
				if(txtNome.getText().length() &lt;= 0)
				{
					JOptionPane.showMessageDialog(null, "Preencha o campo nome.");
					txtNome.requestFocus();
				}
				else
				{
					if(txtEnde.getText().length() &lt;= 0)
					{
						JOptionPane.showMessageDialog(null, "Preencha o campo endereço.");
						txtEnde.requestFocus();
					}
					else
					{
						if(txtTel.getText().length() &lt;= 0)
						{
							JOptionPane.showMessageDialog(null, "Preencha o campo telefone.");
							txtTel.requestFocus();
						}
						else
						{
							if(txtCpf.getText().length() &lt;= 0)
							{
								JOptionPane.showMessageDialog(null, "Preencha o campo cpf.");
								txtCpf.requestFocus();
							}
							else
							{
								if(txtEmail.getText().length() &lt;= 0)
								{
									JOptionPane.showMessageDialog(null, "Preencha o campo e-mail.");
									txtEmail.requestFocus();
								}
								else
								{
									//
								}
							}
						}
					}
				}	
			}
		}
	}
	
	
	if(e.getSource() == btnCancelar)
	{
		System.exit(0);
	}
}

public static void main(String[] args)
{
	new Cadastro().show();
}

}

ai esta parte do codigo, muito obrigado!

K

Experimente o seguinte:

addWindowListener( new WindowAdapter() {

public void windowOpened( WindowEvent e ){

jTextField1.requestFocus();

foco = 0 ;

}

} );

Estava com o mesmo problema e deu certo comigo.

Criado 18 de junho de 2004
Ultima resposta 7 de jul. de 2004
Respostas 6
Participantes 4