¿Cómo crear una biblioteca Global en Java?
Buenas a todos! Ultimamente estoy trabajando más con Java y tenia muchos métodos que repetía en diferentes clases como por ejemplo:
public AlmacenVentanaDialog() {
initComponents();
//CONVERTIR TODO LOS JTEXTFILD A MAYUSCULAS
manager.addKeyEventDispatcher(new KeyEventDispatcher() {
@Override
public boolean dispatchKeyEvent(KeyEvent e) {
if(e.getID() == KeyEvent.KEY_TYPED){
if(e.getKeyChar() >= 'a' && e.getKeyChar() <= 'z'){
e.setKeyChar((char)(((int)e.getKeyChar()) -32));
}
}
return false;
}
});
}
Por ejemplo esta validacion para convertir todos los JtextField a mayusculas lo tengo que repetir en varias JPanel y asi como eso tambien tengo varios eventos y JTextField que reciben los eventos: txtCtaArea, txtAbvArea, txtDescArea,txtCodArea, etc :
Me gustaria saber como hacer para que los diferentes JTextField reciban los eventos y que todo esto este en una Biblioteca en especial para que solo pueda llamarlo.
- Inicie sesión o regístrese para enviar comentarios
Pues si en todos los
Pues si en todos los
JTextField
vas a meter la misma validación, puedes hacer una clase aparte, con un método que sea algo así como (un nombre cortito :-P )jTextField.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e){
char c = e.getKeyChar();
if(!((Character.isDigit(c)||
(c == KeyEvent.VK_BACK_SPACE)||
(c == KeyEvent.VK_DELETE)))){
getToolkit().beep();
e.consume();
}
}
});
}
Y ya.
Revisando un poco, hay tema muy relacionado con tu problema, podrías echarle una revisada.
Podrias crear una anotación
Podrias crear una anotación que inyecte el código en el componente.
Gracias!
Gracias neko, era lo que necesitaba asi como esas cosas donde o como puedo crear o que paginas me recomiendas leer para aprender más.
Saludos!
Inyectar?
Hola paranoid_android a que te refieres con crear una anotacion que inyecte el codigo en el componente? podrías mostrarme algun ejemplo. Es como se hace en Spring?
Yo siempre remito a los
Yo siempre remito a los novatos (JAJA!! habla el experto!) a los tutoriales oficiales de Oracle, y bueno, si vas a usar un determinando componente en este caso de Swing, bien puedes echarle una leída rapidita a todos los métodos con los que cuenta el componente en cuestión, digo no es cosa de que te aprendas al 100% todo el API, pero de menos que en un momento dado, si pienses "este comportamiento recuerdo que lo vi en las docs".
Con respecto a lo que dice @paranoid_android, también es viable la anotación, pero eso si no me equivoco ya es parte de programación de aspectos (interceptores) y pues éso sí nunca lo he trabajado en Java SE.
Perdon por la tardanza
Es la mezcla de dos tecnologías:
Anotaciones y el Api Reflection
Las anotaciones constan de 2 partes una que permite agregar los parametros al codigo de las clases y otra que escanea la clase donde está la anotación y ejecuta.
Aqui te dejo un ejemplo:
http://isagoksu.com/2009/development/java/creating-custom-annotations-and-making-use-of-them/
Saludos.
Te anexo mas información
En google code hay un proyecto que se ve muy bien de unas librerias que usan anotaciones con swing.
http://code.google.com/p/myt-swing-actions/.
Un saludo.