Entradas

Y llegaron las Criptomonedas a nuestras vidas...

Imagen
  17/12/2020 Ya estamos a finales de 2020, todavía estamos sufriendo los daños colaterales de una pandemia mundial que empezó hará ya unos 9 meses, pero que si tenemos suerte, superaremos pronto con la salida de la vacuna, si esta llega antes que un posible contagio. Descubrimiento En esta época de incertidumbre, estamos (hablo principalmente por mí mismo, y de aquellas personas cercanas con las que uno se relaciona, convive, trabaja, etc..) descubriendo que el mundo capitalista que conocemos está a punto de cambiar tal y como lo conocemos ahora, a consecuéncia de una cosa llamada Bitcoin o criptomonedas. Llevo años viendo publicidad relacionada con este tema y nunca le he prestado el más mínimo interés hasta ahora. No sé exactamente si es por mi edad, por mi situación personal, por mis posibilidades o porque de pronto he visto una realidad que nos viene encima y nos afecta a tod@s. He visto que desde el 2009 exite esto del Bitcoin y de las Criptomonedas, es decir, que yo he tardad...

Quitar botones en pantalla de un canvas que aparece en el movil

Cuando realizamos un programa en j2me de java para un movil usando un canvas, resulta que al ejecutar la aplicación en el dispositivo, en este caso en un nokia 5800, aparece un molesto(en este caso) keypad con botones a,b,c,d y botones de dirección, abarcando la mitad de la pantalla. En muchos casos no queremos esto ya que sólo necesitamos un par de botones de navegación de la aplicación (exit, start...) Para el caso concreto del nokia 5800 bastará con especificar que no queremos este keypad en pantalla incluyendo una linea en nuestro archivo .jad: Nokia-MIDlet-On-Screen-Keypad: no

Nuevas ventanas en tu aplicación java con netbeans 6

Vamos a explicar como abrir una nueva ventana con java netbeans 6 desde tu aplicación, por ejemplo al pulsar un botón. Es más, explicaremos los distintos tipos de ventanas que puedes utilizar y podrás diseñar el contenido de las mismas desde la vista de diseño. Si lo que querías son ventanas ya prefabricadas de mostrar texto, error, aceptar-cancelar deberías buscar información sobre la clase JOptionPane. Se supone que tu aplicación ya dispone de un JFrame principal, por lo que añadirle un botón no supone ningún problema. En cualquier paquete de nuestro proyecto si pinchamos con el botón derecho del ratón, tenemos la posibilidad de crear un Nuevo->Otro...->Swing GUI Form->Formulario JFrame o JDialog . Le ponemos un nombre y cuando se cree podremos editarlo en Vista de Diseño. Qué diferencia hay entre uno y otro? Tu ventana de la aplicación principal es un JFrame como habíamos comentado. Si creas un nuevo JFrame para empezar, tendrás algo parecido a una nueva aplicación, y verá...

Cómo se ha resaltado el código en este blog

Para resaltar el código en este blog se ha hecho lo siguiente: En las páginas de configuración del blog, concretamente en Diseño->Editar html se han incluido las siguientes líneas para añadir un code higlighter hecho en javascript justo después de la etiqueta <head>: <link href='http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css' rel='stylesheet' type='text/css'/> <script src='http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js' type='text/javascript'></script> A la etiqueta <body bla bla bla> debemos añadirle lo siguiente: onload='prettyPrint()' y quedaría algo parecido a esto: <body bla bla bla onload='prettyPrint()'> Por último al escribir nuestra entrada del blog cuando queremos que aparezca código resaltado lo hacemos entre etiquetas <code> o <pre> pero de la siguiente forma: <code class="prettyprint"> //Esto es un comentari...

Tres ejemplos de cómo usar un jComboBox en java netbeans 6

Hay muchos ejemplos en la web de cómo usar un jComboBox mediante código. Por ejemplo creamos un array de String y se lo pasamos al constructor del jComboBox, algo parecido a lo siguiente: String [] meses={"enero","febrero","marzo"}; JComboBox micombo=new JComboBox(meses); Pero en el IDE Netbeans 6.9.1.. Cómo lo hacemos? Hemos sabido arrastrar el componente a nuestro panel, pero ahora que? Pues habrá muchas formas de llenar nuestro JComboBox, pero aquí sólo vamos a explicar tres formas, empezando por la más fácil y terminando por una un poco más compleja. Ya según la necesidad, usaréis la que más os convenga. Primer método Esto es lo más fácil. Pincha sobre el jComboBox en la parte de diseño y en propiedades->model usando el "Editor del modelo de lista desplegable" tan sólo tendrás que escribir los items, uno en cada línea. Segundo método Este es si por ahí tienes ya definido tu array de String con los valores que quieres que aparezcan en el de...

Personalizar el render de celdas de un jTable

Programando en java mediante netbeans 6.9.1 me he encontrado con un problema al intentar cambiar el fondo de una celda checkbox . Está claro que debemos crearnos una clase de renderizado personalizada. En internet hay muchos ejemplos al respecto, unos extienden la clase DefaultTableCellRenderer, posiblemente funcione si para una celda muy concreta queremos aplicar un cambio. Otros ejemplos en cambio extienden un JLabel (por ejemplo) que implementa TableCellRenderer y este es el que he usado para la ocasión. El código de mi CellRenderer queda así: public class MiCellRenderer extends JLabel implements TableCellRenderer { protected int column; public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { MiModelo model = (MiModelo) table.getModel(); this.column=column; JCheckBox j=new JCheckBox(); //La tabla espera un componente, no importa si le envio this(JLabel) u otr...

La apariencia del Interfaz de nuestra aplicación

Seguimos programando con java Netbeans 6.9.1, y en este caso queremos que la interface de nuestra aplicación sea similar al sistema operativo sobre el que ejecutamos el programa. Para ello, dentro de la función main, por ejemplo al principio, se puede incluir el siguiente código: try { UIManager.setLookAndFeel( //UIManager.getCrossPlatformLookAndFeelClassName() UIManager.getSystemLookAndFeelClassName() ); } catch (Exception e) { } Si hemos generado de forma automática el código la función main se muestra un poco diferente y la inclusión del código quedaría así: public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { //new VentanaPrincipal().setVisible(true); try { UIManager.setLookAndFeel( //UIManager.getCrossPlatformLookAndFeelClassName() UIManager.getSystemLookAndFeelClassName() ...

Usando nuestra clase gráfica extendida

Cuando al trabajar con Netbeans 6.9.1 nos creamos una clase java extends propia, ésta es una clase que desciende de una clase gráfica como un JPanel, un JButton o un JLabel y además queremos usarla en un JFrame, tendremos que tener en cuenta lo siguiente para que nos resulte relativamente fácil: En primer lugar deberemos crear la clase y asegurarnos de que exista un contructor por defecto que no tenga parámetros de entrada. Si teníamos pensado hacer la clase con parametros de entrada podemos usar la técnica de varios constructores encadenados, es decir, se crean varios constructores donde el constructor sin parametros de entrada llama al constructor con parámetros. Además debemos asegurarnos de que los constructores sean públicos. Cuando compile sin problemas tenemos que añadir nuestro objeto a la Paleta de componentes para así poder añadirlo a nuestro JForm en vista de diseño. Una forma de añadirlo es por ejemplo pinchando con el botón derecho sobre el archivo.java de nuestra clase en...

Ventana centrada en pantalla

Mediante el entorno de desarrollo Netbeans IDE 6.9.1, cuando creamos una aplicación gráfica usando librerías awt o swing puede que queramos que nuestro JForm principal aparezca centrado en la pantalla cuando ejecutemos el programa y/o que el JForm sea de un tamaño concreto. Para ello, despues de crear un nuevo proyecto Java -> Java Application en el main de la clase principal realizamos los siguientes cambios: public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { //new VentanaPrincipal().setVisible(true); //hemos dividido la instrucción anterior para meter codigo enmedio javax.swing.JFrame principalframe=new VentanaPrincipal(); principalframe.setSize(800,600); principalframe.setLocationRelativeTo(null); principalframe.setVisible(true); } }); } Es importante destacar que si establecemos pri...

CMapTools flecha directa a un nodo

Cómo podemos crear una flecha directa desde un nodo a otro sin que aparezca un texto en medio dividiendo dicha flecha en el CMap Tools? Generalmente cuando pinchamos sobre un nodo en el CMapTools, arrastramos y soltamos se genera un nuevo nodo y nuestra flecha de nodo a nodo queda dividida ( incluso formando un codo ) por un texto. Para que dicho texto no aparezca prueba mantener la tecla ctrl pulsada justo antes de pinchar sobre el nodo de origen, de esta forma creo que evitamos que salga la el texto que divide a nuestra flecha con lo que conseguimos una flecha directa desde nuestro nodo de origen hasta el nuevo nodo.

Todo sobreTeamSpeak 3 Web Viewer

Vamos a explicar todo lo necesario para instalar un teamspeak3 Webviewer, es decir un interfaz Web(interface Web) en nuestra web, tanto si la hemos hecho a mano como usando algún CMS como joomla. Necesitaremos lo siguiente: Un cliente ts3, y datos de conexión(servidor.org, puerto udp,pass) Puerto TCP ServerQuery (para el ts3 por defecto es 10011 Pertenecer al grupo "Server Admin" del teamspeak o conocer al que lo sea(superadmin) Primero de todo date de alta en tsviewer.com. (no piden confirmar el correo pero si que necesitan la url de la web desde la que se usará el tsviewer) Si todo va bién enseguida verías la lista de todos los que están conectados en tu ts pero en la web de tsviewer.com y por ahí tienes un botón para generar el código javascript que puedes colocar en tu página. Si falla te explicará un poco como solucionarlo, y a su vez te lo cuento yo aquí a mi manera: Tienes que, con un cliente ts3 entrar al ts(conectarte normal como si fueses a hablar con tus colegas) [...

javascript charset

Las páginas web definen el conjunto de caracteres que usan con la siguiente meta-etiqueta: <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" /> Pues bien, si tenemos una página web que en lugar de usar el charset ISO-8859-1 usa el charset UTF-8 y en dicha página intentamos incluir un javascript que escribe en la misma un texto con caracteres especiales como áéíóú o la ñ veremos que no se muestran bien por la codificación usada en la página. Sí que se mostrarían bien si el charset de la página fuese el ISO-8859-1 pero por muchos motivos que se me ocurren y por muchos otros que no se me ocurren ahora hay ocasiones en los que quieres mostrar esos caracteres especiales en páginas con el charset UTF-8 u otro charset distinto del de tu javascript y no puedes cambiar el de la página. En esos casos la solución es muy fácil ya que tan sólo tienes que especificar el charset que usará tu javascript en la declaración del script: <head> <meta ...

No se detecta el segundo disco duro sata!

Menuda odisea! Después de conectar el nuevo disco duro sata a la placa base( alimentación y datos) hemos arrancado windows xp y hemos visto que no lo detectaba en "Mi Pc", sin embargo si que aparecía en el administrador de dispositivos y en la bios también. Después de darle muchas vueltas hemos optado por desconectar el disco duro que tiene instalado el windows y dejar sólo el disco duro nuevo ( que no tiene nada, ni sistema operativo , ni particiones, ni formato ). Al haber un único disco duro sin formato lo que hemos hecho es usar un cd de windows para que al intentar instalar el s.o. en él antes nos de la posibilidad de crear particiones y en ese caso sí que ha funcionado (Ha aparecidooo!!, por fin!). Hemos creado las particiones pero no hemos instalado el s.o., ni hemos formateado nada. Luego hemos pulsado f3 dos veces para salir. Hemos vuelto a conectar el disco duro que tenia el s.o y también el nuevo ( ahora con las particiones hechas) y hemos arrancado el windows des...

Truco blogger: Paginar un blog

Para mostrar tu blog en páginas y facilitar así la navegación sólo tienes que realizar 2 pasos: Diseño->Editar Html->expandir artilugios Buscar la linea "<div class='blog-pager' id='blog-pager'>" y sustituir todo el div por lo siguiente: (dependiendo de tu plantilla puede que incluso sea idéntico,pero lo haremos por si acaso) <div class='blog-pager' id='blog-pager'> <b:if cond='data:newerPageUrl'> <span id='blog-pager-newer-link'> <a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + "_blog-pager-newer-link"' expr:title='data:newerPageTitle'><data:newerPageTitle/> »</a> </span> </b:if> <b:if cond='data:olderPageUrl'> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' expr:href='data:olde...

El monitor de apache en windows no detecta el servicio httpd

Si acabas de instalar apache 2.2.xx para windows y lo tienes todo bien configurado pero aún así el monitor de apache no detecta el httpd como servicio de windows se debe a que en el proceso de instalación has puesto "Only for me" en lugar de elegir "For All". Esto ha hecho que no se instale el servicio para windows y que lo tengas que instalar a mano, es muy sencillo. Abres la consola de comandos de windows y entras en la carpeta bin donde se encuentra el httpd y ejecutas lo siguiente: httpd -k install Ahora en tu monitor de apache si que aparece el servicio y lo puedes controlar desde ahí.

Zoom Web, Ampliación de cualquier página web

Hola, os voy a dejar un pequeño truco para todos aquellos que tengan problemas de visión, para poder leer las letras de cualquier página web. Con este truquillo podréis ampliar o reducir todas las páginas web que queráis tanto como necesitéis y funciona para todas las páginas web ya que es una opción del navegador. Esto ha sido probado únicamente en el Mozilla Firefox 3.5.5 y no en otros navegadores ni en otras versiones de Firefox. El truco es el siguiente: Manten pulsadas las teclas Ctrl+Alt al mismo tiempo que giras la rueda del ratón. La rueda hacia abajo reduce todo y la rueda hacia arriba amplia toda la página web. Por supuesto el cursor debe estar sobre la página web, sobre algún lugar en blanco que no tenga nada, por ejemplo encima de un vídeo no funcionará. Espero que os sea útil. xD

Por fin ImageMagick con la extensión Imagick de php

Tres días. Eso es lo que he tardado en poder prepararme el Xampplite (una de las versiones de Xampp) para poder usar y probar la extensión Imagick de php en mi ordenador con Windows, ya que los sosos de mi host no han incluido extensiones de php tan útiles y tan bonitas como Imagick o mcrypt (no tardaré en darles puerta). Pero vayamos al asunto: Necesitamos descargar e instalar ImageMagick de aqui . Yo elegí la Win32 dynamic (dll) at 16 bits-per-pixel(Q16). Instalala en c:\imagemagick661 o cualquier ubicación fácil y sin espacios. Modificamos las variables de entorno: Mi Pc (click derecho)>Propiedades>Opciones Avanzadas>Variables de entorno Tenemos que modificar o crear estas: MAGICK_HOME=C:\imagemagick661 Path=%MAGICK_HOME%\;otra ruta;otra ruta;etc... En Path habrá otras rutas, debemos poner la de %MAGICK_HOME%\ antes que las demás porque sino convert no funciona ya que se escribe igual que un comando del sistema, y recuerda separar las rutas con ; Para que el sistema tenga e...

Ejecutar cgi con php script en el servidor

Los cgi scripts pueden ser ejecutados por intérpretes de php, perl, etc. Que hace falta para que nuestro servidor ejecute un script de estos? Dependiendo del servidor donde estés hospedado tendrás que hacer una cosa u otra, pero voy a explicar lo que hice para que funcionase en el mio por si te ayuda en algo: Para empezar veamos un ejemplito: #!/usr/local/bin/php <html><body> <?php echo "Hola desde PHP-CGI"; ?> </body></html> Este código lo incluimos en un archivo cuya extensión sea .cgi o .pl. La primera línea indicará qué interprete se usará (php), si quisieramos perl sería así: #!/usr/local/bin/perl (La ruta puede variar en tu host). Genial!, guardamos este archivo y lo subimos al servidor vía ftp, pero dónde lo ponemos? Si tu host es como el mio solamente te dejará ejecutar este tipo de scripts si se encuentran en la carpeta cgi-bin, así que lo ponemos ahí. Además tendremos que incluir en el archivo .htaccess de esa carpeta una línea que con...