Recuerdo en una ocasión cuando en la universidad llevé la asignatura de Estructura de Datos me tocó programar un juego, para ello yo utilizaba un JLabel en el cual cargaba una imagen, pero con algunas imágenes tenía problemas ya que éstas no se veían completamente porque eran muy grandes en comparación del JLabel; o por el contrario sobraba espacio en el JLabel ya que la imagen era demasiado pequeña para éste.
De cualquier manera una solución muy práctica a este problema es redimensionar la imagen en cuestión de tal manera que ésta se ajuste al tamaño del JLabel. Para ello desarrollaremos un pequeño ejemplo el cual carga una imagen que no cabe en un JLabel; el programa también dispondrá de un botón con la etiqueta "escalar" que contendrá el código que permitirá ajustar, redimensionar o escalar la imagen al tamaño de la etiqueta (JLabel).
Mostrando entradas con la etiqueta Lenguajes de Programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta Lenguajes de Programación. Mostrar todas las entradas
viernes, 18 de enero de 2013
miércoles, 31 de octubre de 2012
JDecimalTextField: Componente para validar decimales en Java
- Usar un JTextField común y corriente, y programar la validación de la entrada de datos sobre él.
- Usar JFormattedTextField y habilitarlo para que solo admita números decimales.
- Programar un componente que tenga la funcionalidad requerida.
- Usar el poderoso Desarrollo de Software Basado en Componentes, es decir usar un componente implementado y probado por un tercero y así ahorrarme tiempo, esfuerzo, recursos, etc.
Me decanté por la última opción y así que buscando un control visual que satisfaga mis necesidades me encontré con JDecimalTextField, el cual no es más que un componente que hereda de JTextField, es decir es una caja de texto que solo acepta números decimales y que además cuenta con las siguientes propiedades adicionales a las ya tradicionales de un JTextField:
Etiquetas:
Lenguajes de Programación
martes, 30 de octubre de 2012
JIntegerTextField: componente para validar enteros en Java
En todo sistema informático es fundamental la validación de los datos que ingresa el usuario, mientras más se valide la entrada de datos minimizaremos los errores que pueden suceder y/o nuestra aplicación tendrá menor probabilidad de fallar al guardar datos del usuario; esta vez les presento un control visual Java Swing, el JIntegerTextField, que no es más que una caja de texto que valida el ingreso solamente de números enteros positivos en su contenido; sé que existe el componente JFormattedTextField disponible desde la versión 1.4 de Java, pero la ventaja de este componente es que bloquea el ingreso de los datos inválidos, es decir al presionar una letra o un símbolo que no sea un número el control lo omite y no lo incluye en su contenido, así sea con la función Ctrl + V (pegar texto), este control analiza el texto y lo excluye, ya que al ser un componente heredado podemos sobrescribir las funciones de su clase base (el JTextField).
Las propiedades que añade este componente a los ya heredados de JTextField son los siguientes:
RECUERDEN que para usar con mayor comodidad el control deben adicionarlo a la paleta de Netbeans o de su IDE favorito (si no sabes cómo, date una vuelta por "cómo adicionar un componente a la paleta de Netbeans"), para simplemente arrastrar y soltar el control sobre los formularios donde queramos usarlo, si tienen algún problema de direccionamiento de referencia a la librería, ayúdense del editor que estén usando, en el caso de Netbeans basta con hacer click derecho sobre el Proyecto y del sub-menú que se despliega seleccionar la opción "Resolve Reference Problems...", acto seguido presionar sobre el botón "Resolve..." el cual abrirá una ventana en la cual se debe ubicar el archivo de la librería JIntegerTextField.jar en la ubicación del disco duro donde lo tengamos.
Demo: Descargar/Download
Las propiedades que añade este componente a los ya heredados de JTextField son los siguientes:
- maxValue: valor máximo del entero.
- minValue: valor mínimo del entero.
- maxLength: máximo número de dígitos del entero.
RECUERDEN que para usar con mayor comodidad el control deben adicionarlo a la paleta de Netbeans o de su IDE favorito (si no sabes cómo, date una vuelta por "cómo adicionar un componente a la paleta de Netbeans"), para simplemente arrastrar y soltar el control sobre los formularios donde queramos usarlo, si tienen algún problema de direccionamiento de referencia a la librería, ayúdense del editor que estén usando, en el caso de Netbeans basta con hacer click derecho sobre el Proyecto y del sub-menú que se despliega seleccionar la opción "Resolve Reference Problems...", acto seguido presionar sobre el botón "Resolve..." el cual abrirá una ventana en la cual se debe ubicar el archivo de la librería JIntegerTextField.jar en la ubicación del disco duro donde lo tengamos.
Demo: Descargar/Download
Etiquetas:
Lenguajes de Programación
domingo, 14 de octubre de 2012
Cómo agregar un componente a la paleta de Netbeans
Como sabemos el IDE Netbeans nos ofrece una gran cantidad de controles visuales en su paleta de componentes (tales como los Swing Controls o los AWT entre otros), que nos facilita a la hora de diseñar una interfaz gráfica de usuario, con solo arrastrar y soltar. Pero también existen muchos otros componentes fuera de los que ya trae pre-instalado éste IDE, que nos pueden ser de mucha utilidad a la hora de programar algún proyecto.
En el siguiente video se nos enseña cómo agregar/adicionar/añadir/instalar un JavaBean, componente o control visual de Java a la paleta de Netbeans.
En resumen una vez que tenemos nuestro componente Swing creado u obtenido de un tercero, lo añadimos a la paleta de Netbeans (esto se hace solo una vez) y luego podemos utilizarlo en cualquier proyecto.
En el siguiente video se nos enseña cómo agregar/adicionar/añadir/instalar un JavaBean, componente o control visual de Java a la paleta de Netbeans.
En resumen una vez que tenemos nuestro componente Swing creado u obtenido de un tercero, lo añadimos a la paleta de Netbeans (esto se hace solo una vez) y luego podemos utilizarlo en cualquier proyecto.
Etiquetas:
Lenguajes de Programación
miércoles, 10 de octubre de 2012
Cómo quitar la selección a un grupo de JRadioButtons en Java
Hace un tiempo en uno de mis proyectos, me vi en la necesidad de resetear, limpiar, borrar o quitar el valor de selección de los llamados botones de radio (JRadioButton en Java). En dicho proyecto tenía un formulario en el cual tenía diferentes controles o componentes (cajas de texto, listas de selección, combos de selección, botones de radio o de opción, etc); el hecho era que el usuario tenía un botón para "guardar" un registro una vez que completaba el formulario, pero también contaba con un botón llamado "limpiar" que servía para resetear el valor de todos ésos componentes y así el usuario pueda registrar un "nuevo" registro. A saber: al presionar sobre el botón "limpiar" los jTextField deberían estar vacíos, los jList no deberían tener ningún item seleccionado, ningún jRadioButton debería estar seleccionado, y en general todos los componentes que se encontraban en el formulario y que sirven para introducir datos deberían estar como a un principio.
El presente post está dirigido a aquellos programadores que se encuentran en la siguiente situación: si tenemos varios jRadioButtons en el escenario, antes de interactuar con ellos no hay ninguno seleccionado. Si seleccionamos uno se marca y el resto se desmarcan, de manera que solamente puede haber un jRadioButton de grupo (ButtonGroup) seleccionado. ¿Pero qué ocurre si una vez seleccionado un jRadioButton, queremos que vuelvan a estar todos deseleccionados o mejor dicho sin seleccionar?
El presente post está dirigido a aquellos programadores que se encuentran en la siguiente situación: si tenemos varios jRadioButtons en el escenario, antes de interactuar con ellos no hay ninguno seleccionado. Si seleccionamos uno se marca y el resto se desmarcan, de manera que solamente puede haber un jRadioButton de grupo (ButtonGroup) seleccionado. ¿Pero qué ocurre si una vez seleccionado un jRadioButton, queremos que vuelvan a estar todos deseleccionados o mejor dicho sin seleccionar?
Etiquetas:
Lenguajes de Programación
jueves, 4 de octubre de 2012
Cómo agregar y eliminar filas de un JTable de Java
En muchas ocasiones nos encontramos con la necesidad de aumentar, agregar, insertar o adicionar filas; así como también disminuir, quitar, remover, borrar o eliminar filas de un JTable en tiempo de ejecución.
Para realizar ésas tareas podemos echar mano de la clase DefaultTableModel, la cual nos provee de un método llamado addRow que requiere de un solo parámetro: rowData; el cual no es más que un array o arreglo de Objects, ése mismo parámetro también puede ser un objeto de la clase Vector, pero para éste ejemplo utilizaremos un array de Objects (Object[]). Éste array de Objects vendría a ser como la fila que queremos adicionar al final de la tabla, donde cada elemento del arreglo vendría a contener un campo del registro o fila a ser adicionado.
DefaultTableModel también tiene el método insertRow, el cual necesita de dos parámetros: row y rowData; el parámetro row es un entero (int) que indica el índice de la fila de la tabla en la cual se desea insertar la nueva fila. Mientras que rowData, como dijimos anteriormente puede ser un arreglo de Objects (Object[]) o un Vector, el cual representa la nueva fila a insertarse.
Para realizar ésas tareas podemos echar mano de la clase DefaultTableModel, la cual nos provee de un método llamado addRow que requiere de un solo parámetro: rowData; el cual no es más que un array o arreglo de Objects, ése mismo parámetro también puede ser un objeto de la clase Vector, pero para éste ejemplo utilizaremos un array de Objects (Object[]). Éste array de Objects vendría a ser como la fila que queremos adicionar al final de la tabla, donde cada elemento del arreglo vendría a contener un campo del registro o fila a ser adicionado.
DefaultTableModel también tiene el método insertRow, el cual necesita de dos parámetros: row y rowData; el parámetro row es un entero (int) que indica el índice de la fila de la tabla en la cual se desea insertar la nueva fila. Mientras que rowData, como dijimos anteriormente puede ser un arreglo de Objects (Object[]) o un Vector, el cual representa la nueva fila a insertarse.
Etiquetas:
Lenguajes de Programación
sábado, 22 de octubre de 2011
Conceptos Básicos de Programación
Un algoritmo es el inicio de la programación, porque él describe la lógica necesaria para resolver un problema, para representarlo se lo puede hacer a través de pseudocódigos y diagramas de flujo, que dan una visión amplia de cómo debe iniciarse y finalizar una programación basada en operadores, estructuras selectivas, estructuras repetitivas y manejo de arreglos.
El pseudocódigo no es directamente un lenguaje de programación que se pueda ejecutar en un computador y probar su correcto funcionamiento y tampoco indica si los bloques de código están correctamente colocados, ya que cada lenguaje de programación como C, C++, Java, entre otros, generalmente trabajan sus funciones de forma diferente, pero siempre manteniendo la lógica inicial de los algoritmos.
Etiquetas:
Lenguajes de Programación
viernes, 14 de octubre de 2011
JLabel Editable en Java
En uno de mis proyectos de la universidad, me vi en la necesidad de utilizar una especie de JLabel pero que se pueda editar en tiempo de ejecución. La idea era que el usuario pueda utilizar un componente para etiquetar con una breve descripción a otros componentes gráficos de mi aplicación. Un JLabel como tal no se puede editar, un JTextField no me servía porque "jugar" con sus propiedades para que se parezca a un JLabel me pareció más complicado porque habría que conocer exactamente qué propiedades modificar y qué parámetros pasarle.
martes, 1 de marzo de 2011
Doble click en Java
Muchas veces nos vemos en la necesidad de detectar un evento doble click en nuestras aplicaciones; para ello Java cuenta con el método getClickCount de la clase MouseEvent. A continuación veremos un sencillo ejemplo de cómo programar el doble click en Java.Para efectos de ejemplo utilizaremos un jLabel para detectar los doble clicks realizados sobre él; pero puede usarse para cualquier otro tipo de componente que soporte los eventos del mouse tales como el formulario, un panel, un botón, etc.
Comenzamos arrastrando un jLabel al formulario, luego damos click derecho al jLabel, del menú desplegable seleccionamos Events y del submenú de éste elegimos Mouse y de las opciones de éste último seleccionamos mouseClicked. Lo que nos llevará al código que debe implementarse dentro del método mouseClicked de la interface MouseListener, el cual será el siguiente:
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {
if (evt.getClickCount()==2)
System.out.println("DOBLE CLICK");
}Con el código anterior lo que conseguimos es que cada vez que se realiza un doble click sobre el jLabel, se imprime por consola el texto "DOBLE CLICK". Lo interesante es que el evento por sí solo controla el tiempo entre un click y el siguiente, por lo que no hay problema si por ejemplo damos un click y esperamos demasiado tiempo y volvemos a dar otro click, éste ya no es considerado como un evento doble click. Por lo que solamente el programa considerará doble click, cuando el usuario realice los clicks del ratón de forma rápida y consecutiva; de esta manera entendemos que el método getClickCount devuelve el número de clicks realizados por el usuario de forma rápida y consecutiva.
De forma similar también podemos detectar los triple clicks (3 clicks), o en un remoto caso 4, 5, etc clicks realizados sobre algún componente.
Como siempre los softwares utilizados fueron el IDE Netbeans 6.5 y Java.
Código Fuente: download/descargar
Etiquetas:
Lenguajes de Programación
lunes, 24 de enero de 2011
Cómo seleccionar una fila de un JTable de Java
A veces nos vemos en la necesidad de seleccionar o resaltar mediante código una fila de un JTable, ya sea porque necesitamos realizar una búsqueda en la tabla o por cualquier otro motivo. Si el JTable se encuentra dentro de un JScrollPane, las barras de desplazamiento se deben mover automáticamente para que se vea la fila que se seleccionó.
Para realizar ésta tarea tenemos el método changeSelection de la clase JTable, el cual cuenta con 4 parámetros: rowIndex, columnIndex, toggle y extend; los dos primeros son dos números enteros que indican la fila y columna de la celda, mientras que toggle y extend son booleanos que sirven para indicar si queremos seleccionar una fila, un rango de filas o varias filas.
Etiquetas:
Lenguajes de Programación
miércoles, 30 de junio de 2010
Videotutoriales de Java con Netbeans - Parte 3
Continuando con los video tutoriales de Java básico utilizando el IDE (Integrated Development Environment, Entorno de Desarrollo Integrado) Netbeans; hoy veremos como los cursos en video van avanzando gradualmente sin perder continuidad y sencillez.
Etiquetas:
Lenguajes de Programación
lunes, 31 de mayo de 2010
Videotutoriales de Java con Netbeans - Parte 2
Continuando con los videotutoriales de Java básico aquí les dejo otra entrega, como siempre, les doy un título personal a cada video y hago una pequeña descripción de lo que contiene cada uno de ellos.
Etiquetas:
Lenguajes de Programación
Videotutoriales de Java con Netbeans - Parte 1
Los videotutoriales que traigo hoy están orientados a aquellas personas que se están iniciando en el lenguaje de programación Java usando el editor NetBeans. Por lo que si estás comenzando a programar con estas herramientas, éstos videos te serán de gran ayuda para tu aprendizaje. En los cuales se presentan ejemplos sencillos y explicados con claridad.
Etiquetas:
Lenguajes de Programación
lunes, 30 de noviembre de 2009
Cómo Instalar Delphi 7 en Windows Vista
El semestre pasado cuando llevé la materia de Métodos Numéricos casi finalizando el mismo había que realizar una exposición en grupo sobre algún método numérico que resolviera un problema matemático. La exposición consistía en realizar una explicación con multimedia: es decir llevar una diapositiva para ayudarnos en la exposición, desarrollar el método numérico elegido (en nuestro caso fue el Método de Crout) en un lenguaje de programación específico y obviamente llevar un informe impreso de respaldo sobre lo investigado. Como yo era el único en el grupo que contaba con una computadora portátil era mi obligación llevarla el día de la exposición, mientras mis compañeros de grupo consiguieron el data displayer prestado del laboratorio de la carrera.El problema surgió cuando me dí cuenta que mis compañeros solo sabían programar en Delphi 7 y mucho me temía que no sea compatible con Windows Vista (y no lo es) que es el Sistema Operativo con que cuenta mi portátil. Podíamos haber instalado Delphi 8 u otra versión más reciente de Delphi y así evitarnos problemas de compatibilidad; pero yo no quería gastar tiempo ni dinero en estar consiguiendo un nuevo instalador y pensé en buscar alguna solución a la compatibilidad de Delphi 7 con Windows Vista. Otra opción pudo haber sido desarrollar el programa en algún otro lenguaje de programación cuyos instaladores yo contaba y cuyas versiones sí eran compatibles con Windows Vista, pero esto hubiera sido muy perjudicial para mis compañeros que no manejaban estos lenguajes.
Etiquetas:
Lenguajes de Programación
Suscribirse a:
Comentarios
(
Atom
)


