Google

Mi primera extensión en Google Chrome

Creado: 30/Sep/2010 Actualizado: 01/Oct/2010

Mediante este artículo vamos a ver como podemos crear nuestra primera extensión en Google Chrome.

Pero antes de empezar, ¿qué son las extensiones de Google Chrome? Las extensiones de Google Chrome son componentes que se le pueden añadir al navegador web Google Chrome para ampliar la funcionalidad del mismo.

Si queréis, podéis informaros más sobre las extensiones de Google Chrome.

Lo primero que tenemos que saber para crear una extensión en Google Chrome es que hay que declarar un fichero manifest en formato json. Este fichero se llamará manifest.json. La estructura de manifest.json es la que define los elementos que contienen la extensión. A ver:

  • name, nombre de la extensión.
  • version, versión de la extensión.
  • description, descripción de la extensión.
  • icons, iconos que representan la extensión. Hay que proporcionar, al menos, dos. Uno que sea 48×48 y otro 128×128
  • browser_action, nos permite añadir un elemento a la barra de Google Chrome. Este será el elemento más importante de nuestra primera extensión en Google Chrome.

Así, podemos ir creando el fichero manifest.json:

{
  "name": "Mi Primera Extension",
  "version": "1.0",
  "description": "Extension que dice hola mundo",
}

Pero vamos a entrar en profundidad en browser_action. Y es que browser_action es una estructura en si mismo, la cual puede contener los siguientes campos:

  • default_icon, icono que saldrá en la barra del Google Chrome.
  • default_title, tooltip que se mostrará al pasar sobre el icono.
  • default_popup, fichero HTML que se abrirá al pulsar sobre la extensión.

Vamos añadiendo cosas a nuestro fichero manifest.json:

{
  "name": "Mi Primera Extension",
  "version": "1.0",
  "description": "Extension que dice hola mundo",
  "browser_action": {
    "default_icon": "logo.ico",
    "popup": "miprimeraextension.html"
  }
}

Vemos que el fichero que se abrirá al pulsar sobre la extensión en Google Chrome será «miprimeraextension.html». Así que será dentro de él dónde codificaremos lo que queramos mostrar en la extensión. En este caso será algo muy sencillo.





Hola Mundo!!

Así, tenemos 3 ficheros dentro de nuestro directorio.

/MiPrimeraExtension
|-- manifest.json
|-- miprimeraextension.html
|-- logo.ico

Ahora solo tendremos que instalarlo en Google Chrome. Para ello vamos al menú:

Tools » Developer Extensions

En la parte superior veremos que hay una opción que se llama Load unpacked extension. Al pulsar sobre esta opción se nos mostrará un explorador mediante el cual hay que elegir el directorio MiPrimeraExtension. Y ya tendremos la extensión instalada en Google Chrome.

Y el resultado de nuestra primera extensión en Google Chrome es el siguiente…

Artículos
Javascript

Sobrescribir el método toString en Javascript

Creado: 29/Sep/2010 Actualizado: 29/May/2015

Va siendo hora de aplicar los conocimientos adquiridos en los artículos sobre objetos en Javascript (Crear métodos dinámicamente en Javascript, Crear un objeto con métodos en Javascript, Crear un objeto en Javascript,…) para realizar algún ejemplo práctico. Y este será el sobrescribir el método toString en Javascript.

Y es que, cuándo creemos un objeto en Javascript, sobre este podemos invocar el método .toString(). Si bien, este método nos devolverá lo siguiente:

[object Object]

Vamos paso a paso… tenemos nuestro objeto persona

function persona(nombre,apellido,edad){
  this.nombre = nombre;
  this.apellido = apellido;
  this.edad = edad;
}

Ahora, para sobrescribir el método toString en Javascript lo haremos dinámicamente mediante la sentencia prototype:

persona.prototype.toString = function toString() { return this.nombre + " " + this.apellido + ". " + this.edad + " años"; }

También lo podíamos hacer definido de forma directa sobre persona.

Ya solo nos queda instanciar el objeto e invocar el método .toString()

var p1 = new persona("Victor","Cuervo",32);
document.write(p1.toString());

Mucho más bonito lo que suelta ahora por pantalla.

Código Fuente

Descárgate el código fuente de Sobrescribir el método toString en Javascript
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Javascript

Disfruta también de nuestros artículos sobre Javascript en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Javascript

¿Te atreves a probar tus habilidades y conocimiento en Javascript con nuestro test?

Test Javascript
Artículos
Java

Conversor de monedas

Creado: 28/Sep/2010 Actualizado: 07/Abr/2024

La verdad es que hay mucha gente que me pregunta sobre cómo se puede hacer un conversor de monedas. En concreto cómo convertir de dolares a pesos (chilenos). Aunque este código nos valdría para cualquier conversión (a euros, a reales brasileños, pesos argentinos,…).

Lo más importante es saber el factor de conversión. Ya que conociendo el factor de conversión solo tendremos que realizar una multiplicación. Para ello tenemos muchas páginas webs en las que podemos ver los factores de conversión. Algunas de ellas son:

Algunas de las conversiones son…

  • 1 dolar = 485,336 pesos chilenos
  • 1 dolar = 0,742 euros
  • 1 dolar = 1,708 reales brasileños

Vamos con el código. Lo primero será definir las variables. Vamos a tener, la moneda origen, la moneda destino y la tasa de conversión.

float tasa = 485.336F; // 1 dolar son 485,336 pesos chilenos
float monedaorigen = 0;
float monedadestino = 0;

Los hemos definido como float para que puedan contener valores decimales.

Vamos con el primer cambio. Este será de dolares a pesos chilenos. Pedimos los dolares a cambiar. Aunque lo más sencillo sería utilizar una clase Scanner, en este caso hemos utilizado un BufferedReader, lo cual nos obligará a convertir a Float mediante un método parseFloat().

 BufferedReader br;                      
br = new BufferedReader(new InputStreamReader(System.in));

System.out.println("Cuantos dolares tienes?");                  
monedaorigen = Float.parseFloat(br.readLine());

Ahora aplicamos la conversión. Al ser de dolares a pesos, solo multiplicamos y mostramos el resultado por pantalla.

monedadestino = monedaorigen*tasa;
System.out.println(monedaorigen + " dolares equivalen a " + monedadestino + " pesos chilenos");

Ahora vamos con la inversa. Y si lo que tengo son pesos chilenos y quiero saber los dolares que son, ¿cómo lo hago? Pues nos vale la misma tasa de conversión, lo que sucede es que en este caso al ser de derecha a izquierda hay que dividir. Así la conversión sería:

monedadestino = monedaorigen/tasa;
System.out.println(monedaorigen + " pesos chilenos equivalen a " + monedadestino + " dolares");

Espero que os haya servido esta explicación para hacer un conversor de monedas en Java.

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
Javascript

Crear métodos dinámicamente en Javascript

Creado: 27/Sep/2010 Actualizado: 28/May/2015

Si ayer veíamos que podíamos crear propiedades dinámicas en Javascript hoy veremos como crear métodos dinámicamente en Javascript.

Y es que el procedimiento es el mismo para este caso y volveremos a apoyarnos en la sentencia prototype para poder crear métodos dinámicamente.

Lo primero definir una clase… volvemos a utilizar nuestra clase rectángulo

function rectangulo(base,altura){
  this.base = base;
  this.altura = altura;	
}

E instanciamos dos elementos de la clase rectángulo:

r1 = new rectangulo(2,4);
r2 = new rectangulo(4,8);

En este momento solo podemos acceder a las propiedades base y altura. Así que pasamos a crear un método calcularArea dinámicamente.

rectangulo.prototype.calcularArea = function() { return this.base*this.altura; };

Vemos que hemos utilizado la sentencia prototype, con lo cual conseguimos que se defina dinámicamente el método para todas las instancias de rectángulo. Si no utilizasemos prototype se definiría el método dinámicamente solo para la instancia a la que se lo aplicásemos.

Ahora ya podemos ejecutar el método sobre las dos instancias del objeto:

document.write("Un rectangulo de " + r1.base + "x" + r1.altura + " tiene un área de " +  r1.calcularArea() + "
"); document.write("Un rectangulo de " + r2.base + "x" + r2.altura + " tiene un área de " + r2.calcularArea());

Código Fuente

Descárgate el código fuente de Crear métodos dinámicamente en Javascript
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Javascript

Disfruta también de nuestros artículos sobre Javascript en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Javascript

¿Te atreves a probar tus habilidades y conocimiento en Javascript con nuestro test?

Test Javascript
Artículos
Javascript

Crear propiedades dinámicas en Javascript

Creado: 26/Sep/2010 Actualizado: 28/May/2015

Una de las cosas que podemos hacer con los objetos en Javascript es crear propiedades de forma dinámica. Por ejemplo, podemos tener una definición de objeto persona con nombre, apellido y edad.

function persona(nombre,apellido,edad){
  this.nombre = nombre;
  this.apellido = apellido;
  this.edad = edad;	
}

Sobre esta definición estática añadiremos una nueva propiedad de forma dinámica. Es decir, dinámicamente añadiremos la propiedad ciudad. Esto lo podríamos hacer de la siguiente forma:

var p1 = new persona("victor","cuervo","32");
persona.ciudad = "Avila";

El problema de utilizar esta forma de crear propiedades dinámicas en Javascript es que solo será para la instancia a la que se lo hemos añadido. Así, el siguiente código:

var p2 = new persona("isabel","herrero","40");
document.write(persona.ciudad);

Nos devolvería «undefined» ya que la propiedad ciudad solo se añadió para p1.

Si queremos crear una propiedad dinámica que sea aplicable a todas las instancias deberemos de utilizar la sentencia prototype de la siguiente forma:

var p1 = new persona("victor","cuervo","32");
persona.prototype.ciudad = "Avila";

Así el siguiente código:

var p2 = new persona("isabel","herrero","40");
document.write(persona.ciudad);

Ya devolverá «Avila» como respuesta.

Código Fuente

Descárgate el código fuente de Crear propiedades dinámicas en Javascript
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Javascript

Disfruta también de nuestros artículos sobre Javascript en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Javascript

¿Te atreves a probar tus habilidades y conocimiento en Javascript con nuestro test?

Test Javascript
Artículos
Java

Centrar un JFrame

Creado: 25/Sep/2010 Actualizado: 23/Abr/2025

Para explicar cómo centrar un JFrame vamos a mostrar un ejemplo de ver cómo mostrar una aplicación Java Swing, en concreto un JFrame, al arrancar, centrado en la pantalla. Además, nos vamos a apoyar en el ejemplo conocer la resolución de la pantalla con Java para darle forma al JFrame que vamos a centrar.

Crear un constructor JFrame

El procedimiento para centrar un JFrame lo vamos a codificar en el constructor de la clase. Así que lo primero será definir una clase que extienda de JFrame, constructor incluido.

public class CentrarJFrame extends JFrame {
  public CentrarJFrame(){...}
}

Posicionar la pantalla con setLocationRelativeTo

Dentro del constructor del JFrame utilizamos el método setLocationRelativeTo() de la clase Window. El método setLocationRelativeTo() coloca la ventana en una posición relativa a un componente que le pasemos como parámetro. Pero si le pasamos null como parámetro, coloca la ventana en el centro de la pantalla. Así ya habremos conseguido centrar un JFrame.

public class CentrarJFrame extends JFrame {
  public CentrarJFrame(){
    setLocationRelativeTo(null);
  }
}

Como comentábamos antes, y apoyándonos en el ejemplo sobre Conocer la resolución de la pantalla con Java vamos a cuadrar el JFrame y haremos que sea la mitad del tamaño de la pantalla… por presentar algo de armonía. :-)

public class CentrarJFrame extends JFrame {
  public CentrarJFrame(){
      super("Centrar JFrame");

      Dimension pantalla = Toolkit.getDefaultToolkit().getScreenSize();
      int height = pantalla.height;
      int width = pantalla.width;
      setSize(width/2, height/2);

      setLocationRelativeTo(null);
      setVisible(true);
  }
}

De esta manera ya tenemos completo el ejemplo que nos explica cómo centrar un JFrame mediante Java Swing.

Código Fuente

Descárgate el código fuente de Centrar un JFrame
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Centrar un JFrame

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
HTML

Imagen con áreas enlazables

Creado: 24/Sep/2010 Actualizado: 24/Ago/2021

En este ejemplo vamos a ver cómo podemos crear una imagen la cual tenga diferentes partes (o áreas) con enlaces diferentes. Para ello nos vamos a apoyar en los elementos MAP y AREA de HTML.

Lo primero ver la imagen sobre la que vamos a crear las áreas

navegadores

La idea es que cada logo de la imagen redirija a un enlace diferente. Lo primero que hacemos es cargar la imagen en la página:

<img src="navegadores.png" alt="Navegadores" usemap="#navegadores" width="821" height="152" border="0" />

Como se puede apreciar hemos utilizado el atributo usemap para indicarle el nombre del mapa que contendrá la definición de las áreas enlazables. En este caso el mapa se llama navegadores.

Pasemos a definir el mapa. El mapa se define mediante el elemento MAP:

<map id="navegadores" name="navegadores">
...
</map>

Dentro del mapa es donde definiremos las áreas, mediante elementos AREA. Un elemento AREA tiene varios atributos, pero los más importantes son:

  • href, es el enlace donde se irá al pinchar sobre ese área.
  • shape, es el tipo de figura que queremos que represente el área: default|rect|circle|poly
  • coords, los las coordenadas de la imagen que representan los vértices de la figura. O centro y rádio en el caso de que sea un círculo

En este caso, sobre la imagen definiríamos los siguientes áreas:

<area shape="rect" coords="0,0,157,147" href="/que-es-internet-explorer/" alt="Internet Explorer">
<area shape="rect" coords="164,0,321,147" href="/que-es-firefox/" alt="Firefox">
<area shape="rect" coords="340,0,497,147" href="/que-es-google-chrome/" alt="Google Chrome">
<area shape="rect" coords="507,0,664,147" href="/que-es-safari/" alt="Safari">
<area shape="rect" coords="659,0,816,147" href="/que-es-opera/" alt="Opera">

En nuestro caso hemos utilizado todo rectángulos.

Lo más complicado en estos casos es encontrar las coordenadas del área. Para ello te recomiendo que utilices herramientas como Image Map Creator la cual genera las coordenadas y el código HTML.

El código final quedaría de la siguiente forma:

<map id="navegadores" name="navegadores">
  <area shape="rect" coords="0,0,157,147" href="/que-es-internet-explorer/" alt="Internet Explorer">
  <area shape="rect" coords="164,0,321,147" href="/que-es-firefox/" alt="Firefox">
  <area shape="rect" coords="340,0,497,147" href="/que-es-google-chrome/" alt="Google Chrome">
  <area shape="rect" coords="507,0,664,147" href="/que-es-safari/" alt="Safari">
  <area shape="rect" coords="659,0,816,147" href="/que-es-opera/" alt="Opera">
</map>

 

Código Fuente

Descárgate el código fuente de Imagen con áreas enlazables
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre HTML

Disfruta también de nuestros artículos sobre HTML en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test HTML

¿Te atreves a probar tus habilidades y conocimiento en HTML con nuestro test?

Test HTML
Artículos
Java

Sacar un naipe de la baraja

Creado: 23/Sep/2010 Actualizado: 07/Ene/2015

Una de las preguntas que hemos recibido hace poco era sobre como podemos hacer un programa en Java que sacase naipes de una baraja. Y la verdad que me parece un programa interesante y fácil de explicar.

La idea es poder sacar una carta aleatoria de la baraja (una baraja inglesa o francesa). Básicamente una baraja dónde haya Picas ♠, Corazones , Diamantes y Tréboles ♣. Las cartas irán del as al diez y habrá tres figuras: jota, reina y rey.

Como hemos comentado esto es un tema de ser aleatorio. Así que sacaremos un número aleatorio para el palo y otro número aleatorio para el número de la carta.

Pero definamos unos arrays que nos sirvan para el texto.

String[] palo = {"Picas","Corazones","Diamantes","Tréboles"};
String[] carta = {"as","dos","tres","cuatro","cinco","seis","siete","ocho","nueve","diez","jota","reina","rey"};

La forma de sacar un número aleatorio es mediante el método .random() de la clase Math. El método .random() nos ofrece un número entre 0.0 y 1.0. Es por ello que tendremos que multiplicar al resultado el número hasta el cual queramos sacar números aleatorios.

Así en el caso del palo multiplicaremos por 4 y en el caso de la carta multiplicaremos por 13. El código será el siguiente:

int iPalo = (int)(Math.random()*4);
int iCarta = (int)(Math.random()*13);

Ya solo nos quedará coger el número aleatorio para acceder al array y extraer el elemento…

System.out.println("La carta aleatoria es " + carta[iCarta] + " de " + palo[iPalo]);

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
Java

Palabras que empiecen por…

Creado: 22/Sep/2010 Actualizado: 08/Ene/2015

Por un punto la respuesta, palabras que empiecen por «ca»… Quién no ha jugado a este juego de niños… Vamos a ver como podemos codificar este juego mediante el lenguaje Java.

Lo primero de todo será pedirle al usuario que inserte palabras por consola. Palabras que empiecen por… Para ello utilizamos la clase Scanner, la cual nos permite capturar el dato introducido por el usuario de forma sencilla.

Scanner reader = new Scanner(System.in);
System.out.println("Escribe palabras que empiecen por '" + sInicio + "'");
sTexto = reader.next();

Hemos utilizado una variable sInicio para poder configurar al gusto la palabra que empiece por…

El método .next() nos permite cargar en la variable sTexto lo que el usuario haya escrito.

Ahora hay que comprobar que lo que ha introducido el usuario es una palabra que empieza por… Para ello utilizamos el método .startsWith() de la clase String. Este método devolverá true cuando el inicio de la palabra corresponda al valor pasado como parámetro.

while(sTexto.startsWith(sInicio)) {
  System.out.println("Correcto... " + sTexto);
  System.out.println("Dime otra palabra...");
  sTexto = reader.next();
}

Vemos que si el método .startsWith() devuelve true, felicitamos al usuario y le volvemos a pedir otra palabra. Nuevamente con el método .next()

Solo nos quedará el tener un contador de aciertos para darle una puntuación al usuario

while(sTexto.startsWith(sInicio)) {
  System.out.println("Correcto... " + sTexto);
  contador++;
  System.out.println("Dime otra palabra...");
  sTexto = reader.next();
}

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
Java

Rotar un array

Creado: 21/Sep/2010 Actualizado: 29/Mar/2020

En este ejemplo sobre rotar un array lo que pretendemos hacer con el siguiente código es rotar los elementos dentro de un array con Java. Es decir, pasar cada elemento a su posición anterior y el primer elemento a la última posición. Es decir, si tenemos un array de enteros…

int[] numeros = {1,2,3,4,5};

Conseguir que salgan las secuencias…

{1,2,3,4,5}
{2,3,4,5,1}
{3,4,5,1,2}
{4,5,1,2,3}
{5,1,2,3,4}

Como hemos comentado, rotar un array significa el mover un elemento a su posición anterior. Esto lo podemos hacer con un bucle for:

for(int x= 0; x<numeros.length-1; x++)
  numeros[x] = numeros[x+1];

Apreciar que solo se mueve hasta el tamaño-1. Para no caer en una excepción ArrayIndexOutOfBoundsException. Y es que la última posición de array se la asignaremos al primero. Para ello hay que tener en cuenta dos acciones.

  1. Guardarnos el primer elemento antes de entrar al bucle. Ya que en la primera iteración lo vamos a machacar
  2. Asignar el primer elemento a la última posición, una vez que hayamos salido del bucle

El código completo sería el siguiente:

int primero = numeros[0];
int x;

for(x= 0; x<numeros.length-1; x++)
  numeros[x] = numeros[x+1];

numeros[x]= primero;

Encapsulamos todos esto en un método…

public static int[] rotar(int[] numeros){

  int primero = numeros[0];
  int x;

  for(x= 0; x<numeros.length-1; x++)
    numeros[x] = numeros[x+1];

  numeros[x]= primero;

  return numeros;
}

Y ahora utilizamos un bucle que llame al método rotar() para obtener todas las combinaciones posibles:

for (int x=0;x<numeros.length;x++) {
  // Imprimir el array
  rotar(numeros);
}

Aunque he utilizado un array de números enteros, este código, modificándolo un poco se puede utilizar para cualquier otro tipo de datos para poder rotar un array.

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java