Ya se puede descargar NetBeans 7 y con su traducción al español

Ya se puede bajar el NetBeans 7.0 Beta 2 con la traducción en español
En cuanto la pruebe os comentaré qué tal va.




Saludos.

Empaquetar una aplicación Java para distribuir, desde NetBeans

Uno de los tantos motivos por lo que utilizo NetBeans en lugar de otro IDE, es que utiliza la Apache Ant para compilar, crear .jar .war .ear, javadoc, etc.. prácticamente para todo, y solo usando un archivo .xml. Y lo mejor es que se puede personalizar el .xml a nuestro antojo.

En este post se va a explicar cómo empaquetar una aplicación Swing en un archivo .zip para ser distribuido a los usuarios finales.



¿Qué hace NetBeans?

Si al hacer una aplicación Swing con NetBeans utilizamos diversas bibliotecas adicionales, el IDE nos puede crear una carpeta lista para distribuir a los usuarios incluyendo todas los .jars necesarios. Para ello hacemos clic derecho sobre el ícono del proyecto y seleccionamos "Build" (o Clean and Build)

 Al hacer esto, el NetBeans compila, y construye la carpeta "dist" para distribuir. Esta carpeta se encuentra en la misma carpeta del proyecto. Podemos verla en el panel "Files" del NetBeans (Teclas Ctrl+2)
Ahora bien ¿qué hacemos con ese .jar? En el README.TXT lo explica. Pero NetBeans también lo dice en el panel "Output" (Ctrl+4) después de construir la aplicación.

"Para ejecutar esta aplicación desde la línea de comandos sin usar Ant, intente:..." y luego dice cuál es el comando que se tiene que hacer.

Si copiamos esa línea, abrimos la ventana del Símbolo del Sistema, y pegamos esa instrucción para ejecutarlo, pues nos ejecutará la aplicación sin problemas. Es más, se podría copiar a los usuarios finales este directorio "dist" y decirles que si quieren ejecutarlo hagan esto: abrir una ventana del Símbolo del Sistema, escribir esa instrucción  y listo.........creo que al usuario no le va a gustar hacer esto ¿Por qué no mejor hacer un programa que al hacer doble clic ya se ejecuté? Buena idea.

Crear un applet Java con NetBeans

Los applets Java son programas Java que pueden ejecutarse desde una página web. Es posible crearlos desde NetBeans de forma gráfica de forma similar a los programas de escritorio, es decir, utilizando formularios y colocando de forma visual los elementos que van a formar parte del programa.




Para empezar, se debe crear una Aplicación Java de forma similar a la utilizada para las aplicaciones de escritorio:Archivo > Proyecto nuevo > Categoría Java > Aplicación Java.

Se indica el nombre del proyecto que se va a crear, así como la carpeta de destino, y así se termina con la creación del proyecto.
En el proyecto recién creado, hay que añadir un formulario JApplet sobre el que se añadirán los elementos que formarán la aplicación. Para ello se puede utilizar el menú contextual sobre el paquete utilizado, seleccionando la opción "Nuevo" y eligiendo la opción "Formulario JApplet" (si no se encuentra en la lista hay que buscarlo en la opción "Otro").


Apache Derby es ahora Java DB en Netbeans

Para crear aplicaciones Java de escritorio y que contengan acceso a bases de datos se puede utilizar el JAVA DB, (Derby Database).

Os dejo un par de enlaces de la web oficial con un par de ejemplos en Netbeans.

Crear la base de datos y las tablas:


Trabajar con ellas desde Java:


Saludos.

Manuales: Java con NetBeans y MySql con JDBC



NombreDescargar
Manual Iniciación código Java
Manual Conexiones BD
Manual Mail Java
Manual Excepciones
Manual POO
Manual Java IO
Manual Layout managers
Manual Servlets Básico
Manual Swing
Manual RMI
Manual Aprender Java como en 1º
Manual Curso de Java desde cero


 Fuente: Manuales

Video Tutorial Java + MySql

Descargar  Aquí el Enunciado del Ejemplo en PDF.

Como hacer una Aplicación con Java, MySql con Netbeans Parte I


Como hacer una Aplicación con Java, MySql con Netbeans Parte II 



Fuente: http://bernardoha.webcindario.com/alumnos.html

Obras de la Escuela Ingeniería en Campus Puerto Real UCA

Tema: Centros y Departamentos , Infraestructura y sostenibilidad
El edificio, ubicado en el Campus de Río San Pedro, estará listo para el próximo mes de septiembre
El rector y el equipo directivo de la Escuela Superior de Ingeniería visitan las obras en Puerto Real
Tras la sesión del Consejo de Gobierno extraordinario, una representación del equipo de Gobierno de la Universidad de Cádiz, y del consejo de Dirección de la Escuela Superior de Ingeniería visitaron las obras del futuro centro en el Campus de Puerto Real. La dirección de obra y directivos de la empresa constructora Gea-21 explicaron pormenorizadamente a las autoridades académicas presentes, encabezadas por el rector, y demás visitantes, la marcha de los trabajos de construcción del nuevo edificio.
Esta construcción tiene 24.987,47 m2, y está situada al norte del actual Campus de Río San Pedro. Estará finalizada en septiembre del presente año, culminando una de las aspiraciones de la dirección de la ESI de Cádiz, dirigida por Mariano Marcos, y del equipo rectoral, encabezado por Diego Sales.
La obra se financia con cargo al vigente Plan Plurianual de Inversiones de la Consejería de Economía, Innovación y Ciencia de la Junta de Andalucía y está previsto que entre en pleno funcionamiento en el segundo cuatrimestre del próximo curso académico, una vez se concluya la urbanización de la zona y el equipamiento subsiguiente.
Al término de la visita, se puso de relieve el logro alcanzado en esta difícil etapa de crisis económica generalizada. La Universidad de Cádiz, con el apoyo del Gobierno Andaluz, está consiguiendo culminar los proyectos previstos: la nueva escuela y la ampliación de la facultad de Ciencias. Dicha obra estará lista el día 15 de mayo del presente año. Un esfuerzo presupuestario que continuará con la próxima convocatoria de proyectos universitarios importantes con cargo al nuevo Plan Plurianual de Inversiones que se apruebe.
Fuente: UCA

Wii 2 HD - La nueva consola de Nintendo se presentará en el E3 este verano.

La cuenta atrás para la presentación oficial de la que vendrá a denominarse Wii 2 o Wii HD parece haber comenzado. Nintendo estaría en pleno proceso de muestreo de su nueva videoconsola a los desarrolladores y diversos medios apuntan a que será en el E3 de Los Ángeles (comienzos de junio) cuando la enseñe al gran público.
Llevamos semanas hablando del lanzamiento de la sucesora de la Wii y parece que no íbamos muy desencaminados. El desgaste que sufre la actual consola doméstica de la compañía japonesa pretende ser suplido con el lanzamiento de una nueva, que mejoraría la calidad de la misma, especialmente en el apartado gráfico, demasiado por detrás de sus competidoras PlayStation 3 y Xbox 3.


Gamerzona.com se hace eco de la información aparecida en GameInformer, en la que se da prácticamente por hecho que Nintendo desvelará todos los detalles de su próxima plataforma doméstica, después de haber lanzado ya a nivel mundial la Nintendo 3DS para el ámbito portátil. La compañía japonesa busca que los desarrolladores se impliquen al máximo en la nueva videoconsola y que puedan desplegar todo su potencial tecnológico, ya que en estos momentos están más centrados en el lanzamiento de juegos para las consolas de Sony y Microsoft.


La Wii se fue desinflando con el paso de los años.


En su momento la Wii fue una auténtica revolución que poco a poco ha ido cayendo por la escasez de títulos y nuevos alicientes para el jugador a nivel individual. No en vano, para muchos usuarios uno de los referentes sigue siendo uno de los primeros títulos que apareció en la consola, como el Legend of Zelda: The Twilight Princess. Tras él se encuentran los diversos juegos protagonizados por Super Mario y un sinfín de juegos cuyo principal punto es jugarlos acompañados de más personas. La oferta, por tanto, para del hardcore-gamer es más bien escasa.

La gran duda que queda por el momento es de qué forma revolucionará el sector esta vez Nintendo. Después de sorprender con su videoconsola portátil 3D sin gafas y haber asegurado que esta Wii 2 no contaría con esta tecnología dada la escasez de televisores capaces de mostrarla, la incógnita es absoluta sobre la nueva experiencia que pretende ofrecer el gigante japonés.

La mejora a nivel gráfico (de ahí que muchos la hayan bautizado como Wii HD) parece segura, pero, ¿guarda algún as en la manga Nintendo? El último rumor apunta a que el mando de la videoconsola contaría con una pantalla en HD incorporada en lo que vendría a ser un nuevo mando. Las especulaciones seguirán apareciendo en las próximas semanas, pero será en apenas un mes y medio cuando tengamos las respuestas a todas las preguntas sobre esta nueva videoconsola.

Fuente: Noticia extraída de AdslZone

Seguridad en Sistemas Linux

Por qué es necesaria la seguridad

Linux es una excelente estación de trabajo aislada, pero lo habitual es que cada máquina linux esté conectada a una red y además esté prestando servicios de red. El sistema tiene la obligación de garantizar los servicios que presta.Ante todo Linux es un sistema multiusuario real. Puede haber varios usuarios distintos trabajando a la vez cada uno desde su terminal. El sistema tiene la obligación de proteger a unos usuarios frente a otros y protegerse a sí mismo.

Además, con la generalización de las conexiones con Internet y el rápido desarrollo del software, la seguridad se está convirtiendo en una cuestión cada vez más importante. Ahora, la seguridad es un requisito básico, ya que la red global es insegura por definición. Mientras sus datos estén almacenados en un soporte informático, mientras sus datos vayan desde un sistema X a otro sistema Y a través de un medio físico, Internet, por ejemplo, puede pasar por ciertos puntos durante el camino proporcionando a otros usuarios la posibilidad de interceptarlos, e incluso alterar la información contenida. Incluso algún usuario de su sistema puede modificar datos de forma maliciosa para hacer algo que nos pueda resultar perjudicial. Con el acceso masivo y barato a Internet se han reducido notablemente los costes de un atacante para asaltar un sistema en red, a la vez que ha aumentado paralelamente el número de potenciales atacantes.


Resumiendo, a nadie le gustaría que desconocidos abran su correo privado, que miren en sus cajones, que se hagan copias de las llaves de su escritorio o de la tarjeta de crédito. Pues todo esto es aplicable en la misma medida a las redes telemáticas.

También queremos remarcar el carácter dinámico de la seguridad de los sistemas en red. Continuamente aparecen nuevos métodos para conseguir accesos indebidos o comprometer el correcto funcionamiento de la red. Esto obliga a estar actualizado permanentemente, y consultar las publicaciones electrónicas que informan de los últimos sucesos detectados. Evidentemente, estas publicaciones informan principalmente sobre actividades que ya se han llevado a cabo, por lo que esperamos que no sea el primero en sufrirlas. Pero también se puede encontrar información sobre debilidades detectadas antes de que se lleven a cabo. Por todo esto, este curso no pretende proporcionar una lista actualizada de programas o servicios potencialmente inseguros o de programas que afectan a la seguridad (denominados exploits).

Como continuamente aparecen nuevos programas para comprometer la seguridad de las redes y de las comunicaciones, lo que sí haremos será indicar los lugares más habituales donde buscar una información actualizada de ese tipo, y algunos métodos generales para prevenir que esos programas tengan éxito en su sistema.


Vídeos Tutoriales de Java en Netbeans

NetBeans IDE es una aplicación de código abierto pensada paraescribir, compilar, depurar y ejecutar programas. Tiene soporte para crear interfaces gráficas de forma visual, crear aplicaciones para móviles, desarrollar aplicaciones web … y además estas funcionalidades son ampliables mediante instalación de paquetes adicionales. NetBeans IDE se conoce como la solución más completa para programar en Java.
Para empezar a trabajar con esta aplicación lo primero que tendremos que hacer es descargarla, la encontraremos disponible en la página oficial y de forma gratuita para GNU/Linux, Windows, Mac OS X y Solaris.
El tutoríal fue creado por Dementexmaster y publicado en su canal de Youtube, son un total de 18 vídeos que podrás ir viendo en el siguiente reproductor:

Todos los componentes y paquetes de Java - Swing y Awt



Fuente: http://download.oracle.com/javase/6/docs/api/constant-values.html#javax.swing

Excepeciones en Java

¿Qué son las excepciones?

A veces, cuando llamamos a un método, puede que algo vaya mal dentro del método y no pueda devolvernos un resultado. Por ejemplo, puede que le pasemos parámetros al método que no le gustan, como algún null, algún valor fuera de rango, etc. Es posible que el método quiera acceder a un fichero o a una base de datos y tenga problemas porque no existe el fichero, no tiene permisos de lectura, no puede conectarse con la base de datos, etc.
Tradicionalmente estos métodos o funciones, en lenguajes como C, devolvían un valor que se reconocía como no válido. Podía ser un NULL o más habitualmente, un -1. Por ejemplo, la función open() de C intenta abrir un fichero. Si lo consigue, devuelve un entero que es el descriptor del fichero. Si no lo consigue, devuelve -1.
Esta opción no es la más elegante. Muchas veces no podemos devolver un valor para indicar error. Por ejemplo, a la función atoi() de C se le pasa una cadena de texto como "123" y devuelve el entero 123. Esta función no puede devolver -1 para indicar error, puesto que si le pasamos la cadena "-1", debería devolver justamente -1.
Por ello, los métodos en los lenguajes más modernos como C++ o Java, además de devolver un valor, pueden "lanzar una excepción". Por ejemplo, la clase Writer de java, en su método write(), se le pasan unos bytes para escribir en algún sitio, un fichero por ejemplo. Si hay algún error, "lanza una excepción" IOException, para indicar que ha habido algún error.

Capturar excepciones: try-catch

Para llamar a ese método, debemos "capturar" la excepción, poniendo el código en bloques try-catch, de esta manera
Writer w = ...;
byte [] unosBytes = ...;
try
{
   unaLineaDeCodigo();
   w.write (unosBytes);
   otraLineaDeCodigo();
}
catch (IOExcepcion e)
{
   System.err.println("Error al escribir: "+e.toString());
}
Cuando se ejecuta este código, primero se ejecuta unaLineaDeCodigo(), luego w.write(unosBytes) y si no hay problemas, se ejecuta otraLineaDeCodigo(). En caso de problemas con w.write(unosBytes), la ejecución salta automáticamente al bloque catch(), ejecutándose el System.err.println(). NO se ejecutaría otraLineaDeCodigo().
Si el código dentro del bloque try genera varios tipos de excepciones, podemos poner varios bloques catch, para capturar por separado cada tipo. Por ejemplo,
try
{
   codigo();
   masCodigo();
   yMas();
}
catch (IOException e)
{
   trataIOException(e);
}
catch (DataFormatException e2)
{
   trataDataFormatException(e2);
}
catch (...)

Iterator - Iteradores en Java

Iterator en Java

Un Iterator o Iterador es un patrón de diseño que nos ofrece una interfaz estándar para recorrer una estructura de datos sin que nos tengamos que preocupar por la representación interna de los datos de dicha estructura.
Esta forma de recorrer estructuras de datos ofrece muchas ventajas entre las que podemos destacar que nuestro código no depende de la estructura de datos.
Por lo tanto la “estructura” puede ser un árbol binario o una lista doblemente enlazada ya que el iterador nos abstrae del modo de realizar el recorrido. De este modo podemos sustituir de manera sencilla estructuras de datos en nuestro código sin que se nos presenten problemas desagradables.
Este patrón lo podemos sustituir por un bucle for, que haría básicamente lo mismo, pero la velocidad en la búsqueda es superior en el patrón iterator con respecto al bucle for.
En Java tenemos reflejado el patrón Iterator en la clase java.util.Iterator que es ampliamente utilizada en las conocidas Collections.
Por ejemplo, recorrer un array de empleados:
ArrayList<String> empleados = new ArrayList<String>();
//rellenar el array
Iterator it = empleados.iterator();
while (it.hasNext())
{
   //Código a realizar en cada posición

   System.out.println(it.next());

    // Imprime el contenido del array a la vez que avanza
   
}
Para la misma estructura el bucle for sería
for (int i = 0; i < empleados.size(); i++) 
{
  // Código a realizar para cada miembro del arraylist
}   //hacer otras cosas

Traducción al Español de la documentación oficial de PYGAME


Esta sección cuenta con la traducción al español de la documentación oficial de pygame, una biblioteca multimedia para python.

Descarga

Si quiere puede descargar una vesión alternativa en formato off-line:

Referencia

PáginaDescripción
pygameEl paquete pygame de nivel superior.
pygame.cdromMódulo de pygame para controlar CDROM de audio.
pygame.cdrom.CDClase para gestionar un dispositivo de cdrom.
pygame.colorObjeto de pygame para representaciones de color.
pygame.cursorsMódulo de pygame para cursores de mouse.
pygame.displayMódulo de pygame para controlar la ventana y pantalla de visualización.
pygame.display.InfoGenera un objeto de información sobre el dispositivo de video.
pygame.drawMódulo de pygame para dibujar figuras.
pygame.eventMódulo de pygame para interactuar con eventos y pedidos.
pygame.event.EventGenera un nuevo objeto de evento.
pygame.fontMódulo de pygame para cargar y dibujar fuentes.
pygame.font.FontGenera un nuevo objeto Font a partir de un archivo.
pygame.font.SysFontGenera un objeto Font a partir de las fuentes del sistema.
pygame.imageMódulo de pygame para la transferencia de imagen.
pygame.joystickMódulo de pygame para interactuar con dispositivos de joystick.
pygame.joystick.JoystickGenera un nuevo objeto Joystick.
pygame.keyEste modulo contiene funciones para gestionar el dispositivo de teclado.
pygame.maskMódulo de pygame para gestionar máscaras de imágenes.
pygame.mask.MaskObjeto de pygame para representar máscaras de bit 2D.
pygame.mixerMódulo de pygame para cargar y reproducir sonidos.
pygame.mixer.musicMódulo de pygame para controlar la reproducción de música.
pygame.mixer.ChannelGenera un objeto Channel (canal de audio) para controlar
pygame.mixer.SoundGenera un nuevo objeto Sound a partir de un archivo.
pygame.mouseMódulo de pygame para utilizar el mouse.
pygame.movieMódulo de pygame para reproducir video mpeg.
pygame.movie.MovieCarga un archivo de película MPEG.
pygame.overlayObjeto de pygame para gráficos de video
pygame.pixelarrayObjeto de pygame para obtener acceso directo a los pixels de las
pygame.rectObjeto de pygame que se utiliza para almacenar coordenadas rectangulares.
pygame.scrapMódulo de pygame que ofrece soporte para el portapapeles (clipboard).
pygame.surfarrayMódulo de pygame para acceder a los pixels de una superficie
pygame.surfaceObjeto de pygame para representar imágenes.
pygame.spriteMódulo de pygame con clases básicas de objetos para juegos.
pygame.sprite.SpriteUna clase base para objetos del juego visibles.
pygame.sprite.GroupClase contenedora para varios Sprites.
pygame.sprite.GroupSingleGrupo contenedor que almacena un solo Sprite.
pygame.sprite.LayeredDirtyEl grupo LayeredDirty está diseñado para objetos DirtySprite, y es
pygame.sprite.DirtySpriteUna subclase de Sprite con mas características y funcionalidad.
pygame.sprite.LayeredUpdatesEl grupo LayeredUpdates maneja capas (layers) que dibujan como grupos
pygame.sprite.OrderedUpdatesUna clase como RenderUpdates que dibuja objetos Sprite
pygame.sprite.RenderedUpdatesClase de grupo que utiliza el procedimiento 'dirty rectangles'.
pygame.sndarrayMódulo de pygame para acceder a muestras de sonido.
pygame.timeMódulo de pygame para gestionar tiempo.
pygame.time.clockObjeto que gestiona tiempo.
pygame.transformMódulo de pygame para transformar superficies.
pygame.versionMódulo que contiene información de la versión.

 Fuente: http://www.losersjuegos.com.ar/traducciones/pygame