Foro de elhacker.net

Programación => Java => Mensaje iniciado por: ervays en 14 Noviembre 2013, 12:10 pm



Título: Duda Swing
Publicado por: ervays en 14 Noviembre 2013, 12:10 pm
Hola,

Estoy creando una interfaz con Swing. El panel del JFrame del inicio tiene un JTextField.

El problema lo tengo que cuando ejecuto el programa y me saca la ventana. El JTextField aparece enfocado por defecto.

El JTextFieldTiene el siguiente focusListener:

Código:
	
public static FocusListener focusEffectTxt(final JTextComponent txt,final String texto){

return new FocusListener() {

public void focusLost(FocusEvent arg0) {
if (txt.getText().equals("")) {
txt.setText(texto);
}
 }

public void focusGained(FocusEvent arg0) {
if (txt.getText().equals(texto)) {
txt.setText("");
}

 }
};


Lo que pretendo es que el JTextField me aparezca sin enfocar cuando se ejecuta el programa.

¿Me podríais ayudar?
Gracias
 


Título: Re: Duda Swing
Publicado por: Mitsu en 14 Noviembre 2013, 20:23 pm
La arquitectura de Swing así lo establece. Si un hay un TextField en un JPanel por defecto obtendrá el focus, esto es de manera predeterminada.

Si quieres evitar esto, simplemente en un JLabel que haya en el form, hazle ganar el focus.

Código
  1. label.requestFocus();
  2.  

Obviamente no se verá nada ni se coloeará nada en el label que tiene el focus. Es como si nada pasara.


Título: Re: Duda Swing
Publicado por: ervays en 15 Noviembre 2013, 13:49 pm
Buasssss!!!!  muchísimas gracias!