Artículos
Java

Gráficos en Java con JFreeChart

30/May/2012

Mientras tanto hago el análisis de mi proyecto de título me he visto en la necesidad de buscar algunas librerías gráficas para que me faciliten el trabajo en Java, es así que he llegado a JFreeChart, librería para estadísticas gráficas. Hoy por hoy les explicaré lo sencillo que resulta crear un gráfico con JFreeChart.

Lo primero que tenemos que hacer es agregar la librerías de JFreeChart, si no las tenemos, podemos acceder a ellas desde la página de sus programadores.

Principalmente trabajaremos con dos librerías que son jcommon-1.0.16.jar y jfreechart-1.0.13.jar

Las librerías quedarán así en tu proyecto:

Una vez que hayamos agregado las librerías de JFreeChart cremos un proyecto nuevo y agregamos un JFrame. Este JFrame puede servir directamente como un gráfico, pero en éste ejemplo lo he usado para agregar un botón que hará la llamada del gráfico en un nuevo JFrame.

Nos vamos a el JFrame que ya agregamos, y añadimos sobre él un botón, el cual llamará al gráfico. Visualmente debería quedar algo así:

Lo primero será declarar un atributo JFrame dentro de nuestra clase, la cual hemos llamado GraficosJFreeChart:

JFrame frame = new JFrame("Probando JFreeChart");

El constructor de JFreeChart inicializaremos el JFrame, cambiaremos su tamaño y posición en la pantalla:

frame.setSize(500, 270);
frame.setLocationRelativeTo(getRootPane());
this.setLocationRelativeTo(getRootPane());

Cabe destacar que cuando hacemos referencia a «this» estamos haciendo referencia a la ventana de la clase principal en éste caso la primera que agregamos.

La acción de click sobre el botón será la que lance toda la ejecución y carga de los gráficos JFreeChart.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {...} 

Lo primero que haremos con los gráficos JFreeChart es crear un DataSet, que es dónde vamos a meter los datos que representaremos gráficamente. Para ello utilizamos un DefaultCategoryDataset y añadimos los valores mediante el método .addValue().

DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(1.0, "Row 1", "Column 1");
dataset.addValue(5.0, "Row 1", "Column 2");
dataset.addValue(3.0, "Row 1", "Column 3");
dataset.addValue(2.0, "Row 2", "Column 1");
dataset.addValue(3.0, "Row 2", "Column 2");
dataset.addValue(2.0, "Row 2", "Column 3");
dataset.addValue(10.0,"Row 3", "Column 4");
dataset.addValue(10.0,"Row 3", "Column 4");

Destaquemos que las llamadas al método addValue() se agregan un valor, un fila y una columna determinada. ¿Estas pensando en una base de datos? Sí, fácilmente podrían salir los datos de una base de datos. Quizás mas adelante lo expliquemos.

Una vez que tenemos el DataSet relleno nos dedicaremos a generar el gráfico. Los gráficos en JFreeChart se generan mediante la factoría CharFactory. En este caso, como queremos crear un gráfico de barras utilizamos el método .createBarChart().

JFreeChart chart = ChartFactory.createBarChart(
  "Ejemplo básico para Linea de Codigo",
  "Categorías",
  "Valores",
  dataset,
  PlotOrientation.VERTICAL,
  true,
  true,
  true
);

En la creación del gráfico al método createBarChart le pasamos el título, los valores de los textos de los ejes, si queremos que haya leyenda,… y lo más importante el DataSet con los datos.

El gráfico creado hay que mostrarlo. Para mostrar un gráfico en JFreeChart hay que ponerlo en un Panel. Así que creamos un panel con la clase ChartPanel al cual le pasamos como parámetro el gráfico que acabamos de crear. Después mostramos el panel en el JFrame.

ChartPanel chartPanel = new ChartPanel(chart, false);
frame.setContentPane(chartPanel);
frame.setVisible(true);

Ya tenemos nuestro primer gráfico con Java y JFreeChart.

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
Microsoft.Net

Conexión MYSQL y C# VS 2005

31/Mar/2012

Buenas nuevamente hoy e venido a dejarles un post relacionado a .NET en su sabor C#. Mostraré lo simple que es conectar ambos. Bueno, manos a la obra!

Primeramente lo que tenemos que realizar es la descarga del conector a MySQL, Conector MYSQL .Net 6.2.4

Seguido crearemos una nueva aplicacion de consola que automáticamente nos deja apuntados a un MAIN dentro de él haremos todo. Solo para el ejemplo, si es que realizas aplicaciones de mayor tamaño es recomendable mas orientación a objeto.

Como ya instalamos MYSQL Connector solamente agregamos la referencia. Click derecho sobre referencias – Agregar referencias >> localizar MYSQL.DATA.

Y con eso tendríamos nuetra referencia agregada, solo nos quedaría apuntarla a nuestra Console Aplication.

Asumo que tienes instalado MYSQL Server en tu computador personal, o te estas apuntando a algún servidor remoto» Si tu respuesta es que no tienes MYSQL Server instalado, ni menos un Servidor te recomiendo que localices la aplicación WAMP Sever trae varias cosas entre ellas MySQL, PHP, Apache, PHPMyAdmin

Bueno continuemos ahora vamos a lo que es código…

Crearemos un método llamado «EjecutarSelect» con dos parámetros que seran la conexión y la query, de la siguiente manera:

private static void EjecutarSelect(MySqlConnection cnn, string Select)
        {
            cnn.Open();
            MySqlCommand ComandoSelect = new MySqlCommand(Select);
            ComandoSelect.Connection = cnn;
            MySqlDataReader Resultado;
            Resultado = ComandoSelect.ExecuteReader();
            while (Resultado.Read())
            {
                Console.WriteLine("id:" + Resultado.GetString(0));
                Console.WriteLine("nombre:" + Resultado.GetString(1));
                Console.WriteLine("Apellido:" + Resultado.GetString(2));
                Console.WriteLine("Direccion:" + Resultado.GetString(3));

            }
            cnn.Close();
        }

Explicación de lo anterior

  1. Abrimos la conexión
  2. Creamos un objeto del tipo MySqlCommand que es quién llevará la consulta que hemos realizado
  3. Ahora al objeto que creamos le decimos que se apunte a la conexión que estamos pasando por parámetro
  4. Luego creamos nuestro MySqlDataReader que como su nombre lo dice «Reader» leerá los datos obtenidos por la consulta
  5. En ésta linea le decimos al DataReader que lea los datos del objeto que creamos anteriormente del tipo MySqlCommand(que es quién tiene la consulta)
  6. bueno ahora lo unico que hacemos es recorrer un ciclo while para obtener los datos
  7. No creo que necesite mayor explicación pero el GetString, por lógica nos devuelve un string en la posición indicada

Ahora nuestro método que modificará datos:

private static void InsertarDatos(MySqlConnection cnn, string query)
        {
            cnn.Open();
            MySqlCommand comandoInsertar = new MySqlCommand(query);
            comandoInsertar.Connection = cnn;
            comandoInsertar.ExecuteNonQuery();
            cnn.Close();
        }

Explicación del método InsertarDatos con dos parámetros como el anterior método

  1. Abrimos la conexión
  2. Creamos nuestro objeto que tendrá la consulta
  3. Le decimos a nuestro objeto que se apunte a la conexión
  4. Ejecutamos la consulta
  5. Cerramos la conexión
private static void ActualizarDatos(MySqlConnection cnn, string query)
        {
            cnn.Open();
            MySqlCommand comandoUpdate = new MySqlCommand(query);
            comandoUpdate.Connection = cnn;
            comandoUpdate.ExecuteNonQuery();
            cnn.Close();
        }

Explicación del método ActualizarDatos:

  1. Abrimos la conexión
  2. Creamos nuestro objeto que tendrá la consulta
  3. Apuntamos la conexión a nuestro objeto
  4. Ejecutamos la consulta
  5. Cerramos conexión

Bueno ya tenemos nuestros método listo, nos queda solo apuntar los método al main y crear nuestra conexión

string CadenaConexion = "Server=localhost;Database=lineadecodigo;Uid=root;Pwd=;";

MySqlConnection cnn = new MySqlConnection(CadenaConexion);

InsertarDatos(cnn, "INSERT INTO USUARIO(NOMBRE,APELLIDO,DIRECCION) VALUES('Victor','Cuervo','Avila');");
EjecutarSelect(cnn, "SELECT * FROM usuario");
ActualizarDatos(cnn, "UPDATE USUARIO SET NOMBRE='MODIFICADO' WHERE ID=2");
Console.ReadKey();
  1. Creamos un String que tendrá la conexión Standar de MYSL
  2. Creamos un MySqlConnection que tendrá en su parámetro la cadenadeConexion
  3. Llamamos al método InsertarDatos le pasamos por parámetro la conexión y la consulta
  4. Llamamos al método EjecutarSelect le pasamos por parámetro la conexión y la consulta
  5. Llamamos al método ActualizarDatos le pasamos por parámetro la conexión y la consulta
  6. Usamos Console.readKey(); para que la pantalla negra no se cierre automáticamente y puedas ver los datos

Se me olvidaba… Para este ejemplo estoy usando la siguiente tabla:

CREATE DATABASE lineadecodigo;
USE lineadecodigo;

CREATE TABLE usuario(
	id		INT NOT NULL AUTO_INCREMENT,
	nombre		CHAR(20)NOT NULL,
	apellido	CHAR(15)NOT NULL,
	direccion	CHAR(40)NOT NULL,
	PRIMARY KEY (id));

Una tabla llamada usuario con varios campos. El ID auto_increment y primary key

Bueno eso es todo es super simple llevar a cabo ésto… inténtelo y cuenten como les vá.

Artículos
Java

Invertir Array

07/Mar/2012

Hoy les explicaré un método en Java que hice para invertir arrays simples.

En él haremos lo siguiente

  1. Clase llamada InvertirArray
  2. Declararemos un array de tipo Object llamado invertir_int
  3. Un método llamado invertir(Object[] arg0)
  4. Un método que nos devolverá el arreglo invertido llamado getArreglo_invertido()
  5. Y el Main para probar

La definición de la clase Java queda así:

 public class InvertirArray {}

Ya sabes que dentro de las llaves haremos todo lo demas.

Seguimos con la declaración del array de tipo Object. Este array nos servirá para invertir el array inicial.

private static Object[] invertir_int;

Luego construimos el método que invertirá el array:

public static void invertir(Object[] array) {
        invertir_int = new Object[array.length];
        int maximo = array.length;

        for (int i = 0; i

Lo que hacemos es instanciar un array con el tamaño del array que hay que invertir y luego recorreremos dicho array de atrás adelante para ir creando el array invertido.

Luego el método que nos devuelve el arreglo

public static Object[] getArreglo_invertido() {
        return InvertirArray.invertir_int;
    }

y finalmente una simple forma de usar este método:

public static void main(String args[]) {

        Object[] arreglo = new Object[5];

        arreglo[0] = 0;
        arreglo[1] = 1;
        arreglo[2] = 2;
        arreglo[3] = 3;
        arreglo[4] = 4;

        for (int i = 0; i < arreglo.length; i++) {
            Object j = arreglo[i];
            System.out.println("Arreglo Normal: " + j);
        }

        try {
            invertir(arreglo);
        } catch (Exception e) {
            System.out.println("Error: "+e.getMessage());
        }

        for (int i = 0; i < invertir_int.length; i++) {
            Object j = invertir_int[i];
            System.out.println("Arreglo invertido: " + j);
        }
    }

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

Validador de RUT en Java

09/Dic/2010

El RUT es el Rol Único Tributario es un número único Chileno que sirve como identificador tributario.

El RUT consta de dos partes, el número y el dígito verificador separados por un guión. En el siguiente ejemplo se toma como RUT el número 30.686.957-X, donde 30.686.957 es el número del RUT y X es el dígito verificador que no conocemos o que queremos verificar:

Se procede a tomar el número de RUT de derecha a izquierda, multiplicando cada dígito por los números que componen la serie numérica 2,3,4,5,6,7; y sumando el resultado de estos productos, como se muestra a continuación (si se ha aplicado la serie hasta el 7 y quedan dígitos por multiplicar, se comienza la serie nuevamente):

7 × 2 = 14,
5 × 3 = 15,
9 × 4 = 36,
6 × 5 = 30,
8 × 6 = 48,
6 × 7 = 42,
0 × 2 = 0,
3 × 3 = 9

Entonces la suma de los productos es

14+15+36+30+48+42+0+9 = 194

Para poder hacer con Java esto tenemos que invertir el número:

public static Object[] invertir(Object[] array) {
  Object[] invertir_int = new Object[array.length];
  int maximo = array.length;

  for (int i = 0; i < array.length; i++) {
    Object j = array[maximo - 1];
    invertir_int[maximo - 1] = array[i];
    maximo--;
    }
  return invertir_int;
}

Ahora, vamos multiplicando por la serie de números y acumulando la suma en rutSumado.

int a = 2;
for (int i = 0; i < array.length; i++) {
  array[i] = Integer.parseInt((String) array[i]) * a;
  rutSumado += Integer.parseInt(String.valueOf(array[i]));
  if (a == 7) {
    a = 1;
  }
  a++;
}

Al número obtenido por la suma del producto de cada dígito por la serie ya mencionada, se le aplica módulo 11, o sea, se divide por 11 y se determina el resto de la división.

194: 11 = 17
Resto: 7

Ahora a 11 se le resta el resto:

11 - 7 = 4

El código Java sería

int resto = rutSumado % 11;
String Digito = String.valueOf(11 - resto);

Con el valor obtenido:

  • Si el resultado es 11, el dígito verificador será 0.
  • Si el resultado es 10, el dígito verificador será K.
  • En otro caso el resultado será el dígito verificador.

Para hacer esto con Java:

if (Digito.equals("11")) {
  Digito = "0";
}

if (Digito.equals("10")) {
  Digito = "K";
}

Como en el ejemplo el resultado de la resta es 4, el dígito verificador es 4. Por ende, el RUT del ejemplo es el 30.686.957-4.

Saludos, Espero que les sea de ayuda :D

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

Ventanas con estilo gracias a Substances

10/Oct/2010

Hoy explicaré en simples pasos cómo usar Substance en nuestras aplicaciones, que de hecho es una muy buena forma de darle estilo a nuestras ventanas

¿Que haremos?

Crearemos una ventana simple(JFrame, JTextField, JButton) a código. Sin ayuda de Netbeans u otro programa que solo tienes que arrastrar componentes, que de hecho es una muy buena forma, pero el motivo es enseñar.

Primero que todo haremos una nueva clase llamada «JVentana» que como el nombre lo indica tendrá lo suficiente para crear una ventana y también incluiremos un evento al botón:

public final class JVentana{
...}

Ahora agregamos 3 atributos de tipo JFrame, JTextField, JButton:

private JFrame Frame_principal;
private JTextField textField_texto;
private JButton button_saludo;

Siguiendo de lo antes realizado agregaremos un método llamado «inicializar», que inicializará los atributos que declaramos anteriormente:

public void inicializar(){
  Frame_principal = new JFrame("Sethcrofts para http://www.lineadecodigo.com");
  textField_texto = new JTextField();
  textField_texto.setColumns(40);
  button_saludo = new JButton("Saludar");
}

Explicación del método inicializar:

  1. Creamos el JFrame asigándole un nombre en su constructor
  2. Creamos el JTextField
  3. Seteamos el JTextField para que sea mas largo (por columnas)
  4. Creamos el JButton

Siguiendo lo anterior iremos a crear otro método llamado «agregarComponentes»:

public void agregarComponentes(){
  Frame_principal.add(textField_texto);
  Frame_principal.add(button_saludo);
  Frame_principal.setLayout(new FlowLayout());
  Frame_principal.setVisible(true);
  Frame_principal.setResizable(false);
  Frame_principal.pack();
}

Explicación del método agregarComponentes:

  1. Agregamos el JTextField creado al FramePrincipal
  2. Agregamos el JButton creado al FramePrincipal
  3. Seteamos nuestra ventana principal al modo FlowLayout (Alterará la forma en que se ubicarán los componentes en el Frame)
  4. Hacemos visible la ventana principal
  5. Seteamos la opción de redimensionar la ventana (true=SI, false=NO)
  6. Seteamos la ventana principal, para que se adapte al tamaño de nuestros componentes para evitar espacios innesesarios

Ahora lo que nos queda hacer por último es programar nuestro evento para que al hacer click en el botón se genere un mensaje:

public void asignarEventos(){
  button_saludo.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        if(textField_texto.getText().equalsIgnoreCase("")){
            JOptionPane.showMessageDialog(null, "Ingrese un nombre.");
        }else{
            JOptionPane.showMessageDialog(null, "Hola: "+textField_texto.getText());
        }
    }
  });
}

Explicación del método asignarEventos:

  1. Asignamos un evento (ActionListener) al botón (button_saludo), como su nombre lo indica escuchará cada vez que se presione.
  2. Agregamos el método actonPerformed (Si usas Netbeans esa parte se hace por defecto, así que solo tendrás que asignar instrucciones)
  3. Preguntamos que si el textField_texto está vacio que realize la siguiente acción
  4. Desplegamos un mensaje en pantalla (como un alert() en Javascript, MessageBox en .NET )
  5. Si no es así, entonces saludará al nombre ingresado en el text

Y bueno ya casi terminando crearemos nuestro constructor:

public JVentana(){
  inicializar();
  agregarComponentes();
  asignarEventos();
}

Explicación del constructor:

  1. Llamamos al método inicializar
  2. Llamamos al método agregarComponentes
  3. Llamomos al método asignarEventos

Es importante la posición en que pones las llamada a los métodos, porque si pones por ejemplo agregarComponentes se generará un error ya que aún no se han creado los componente

Nuestra clase sería verse algo así :

package ejemplosubstance;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public final class JVentana{

  private JFrame Frame_principal;
  private JTextField textField_texto;
  private JButton button_saludo;

  public JVentana(){
    inicializar();
    agregarComponentes();
    asignarEventos();
  }

  public void inicializar(){
    Frame_principal = new JFrame("Sethcrofts para http://www.lineadecodigo.com");
    textField_texto = new JTextField();
    textField_texto.setColumns(40);
    button_saludo = new JButton("Saludar");
  }

  public void agregarComponentes(){
    Frame_principal.add(textField_texto);
    Frame_principal.add(button_saludo);
    Frame_principal.setLayout(new FlowLayout());
    Frame_principal.setVisible(true);
    Frame_principal.setResizable(false);
    Frame_principal.pack();
  }

  public void asignarEventos(){
    button_saludo.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        if(textField_texto.getText().equalsIgnoreCase("")){
          JOptionPane.showMessageDialog(null, "Ingrese un nombre.");
        }else{
          JOptionPane.showMessageDialog(null, "Hola: "+textField_texto.getText());
        }
      }
    });
  }
}

Luego que tengamos todo listo viene la parte principal de éste tutorial por así decirlo «darle estilo a nuestras ventanas». Para ellos vamos a utilizar Substances.

Lo primero que tenemos que hacer es descargarnos el jar de Substances.

Descargar Substances Version: 5.3

Luego que lo tenemos descargado lo añadimos al proyecto, desconosco la manera en que algunas aplicaciones hacen éste proceso pero Netbeans lo hace de la siguiente manera

  1. Botón derecho sobre Libraries
  2. Add Jar/Folder (Agregar JAR / Carpeta)
  3. Buscamos y seleccionamos nuestro JAR descargado

Luego lo único que tenemos que hacer es nuestro honorable MAIN que quedaría de la siguiente manera:

public static void main(String[] args) {
  java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
      try {
        Frame.setDefaultLookAndFeelDecorated(true);
        SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.OfficeSilver2007Skin");
        new JVentana();
      } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Error: "+e);
      }
    }
  });
}

Explicaré la dos lineas que son nuevas para ustedes. Sí, «JFrame.setDefaultLookAndFeelDecorated» y «SubstanceLookAndFeel.setSkin»

  1. La primera setea el Frame que vendrá luego a que adopte el decorado de Subtances y que decorado tendrá.
  2. Bueno la segunda linea de encarga del decorado en éste caso es «officeSilver2007Skin»

Si todo va bien deberíamos ver algo así

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

Transformar código binario a decimal

03/Oct/2010

Veamos un simple ejemplo de como transformar un código binario a número decimal.

Creamos un método escribirBinario donde pasamos por parámetro un String, lógicamente usaremos ceros y unos.

public void escribirBinario(String digitoBinario){...}

Usaremos un try-catch para capturar nuestras excepciones que quizas se puedan generar al momento de ingresar algun valor por parámetros, por ejemplo si ingresamos «asdasd» se generará una excepción NumberFormatException.

Pero dirás, ¿Por qué? si el parámetro es String. Bueno ésto se debe a que en el momento de pasar por la asignación a la variable decimal, se parsea el valor obtenido por «digitoBinario», al parsear se transforma el String en un número esa es la razón de la excepción, pero bueno si pasa eso lo capturaremos con nuestro try-catch.

try{
  ...
}catch(Exception ex){
  System.out.print("Se a generado el siguiente error: "+ex.getMessage());
}

Ingresamos el binario y usaremos el parseInt para transformarlo a decimal. Este método acepta 1 y 2 parámetros. El primero solo acepta String y el segundo String y radix. Este es el que usaremos indicando que la base es binaria. Es decir, un 2. Y nos devolverá un decimal.

this.decimal =  Integer.parseInt(digitoBinario,2);

Cualquier consulta por este mismo medio.
Saludos. 10 segundos se tardan en agradecer.

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
Microsoft.Net

Simple navegador web en C# Framework 2.0

05/May/2010

Los pasos a seguir para crear un simple navegador web en C# y usando un framework 2.0 son los siguientes:

Lo que Primero hacemos es Crear un Proyecto Nuevo (Visual Studio 2005), lenguaje C#. y das un nombre a elección. Luego tenemos nuestro Form que se verá algo así:

Luego lo que hacemos es añadir un Control de ToolBox llamado WebBrowser, por defecto al arrastrar el WebBrowser ocupa el form completo pero como necesitamos solo mostrar la página web en éste desbloqueamos el control WebBrowser para poder eleguir la posición a gusto de donde se mostrará la web:

Después de eleguir la posición del Web Browser vamos a las propiedades de éste para configurar la acción de cuando se maximiza la ventana automáticamente se maximise el WebBrowser:

Ahora nos queda ingresar los botones comunes en un navegador como lo es el “Ir a” “Atrás” “Adelante” “Parar” “Actualizar” “Barra de Direcciones”. Para ésto poner los controles a gusto debería quedar algo así:

Ahora ya tenemos los controles ingresados sobre nuestro Form ahora lo que hacemos añadimos los Eventos a cada uno.

Empezaremos con Botón Atrás “btAtras”

private void btAtras_Click(object sender, EventArgs e){
  webBrowser1.GoBack();
}

Ahora Botón Adelante “btAdelante”

private void btAdelante_Click(object sender, EventArgs e)  {
  webBrowser1.GoForward();
}

Ahora Botón Parar “btParar”

private void btParar_Click(object sender, EventArgs e) {
  webBrowser1.Stop();
}

Ahora Botón Actualizar “btActualizar”

private void btActualizar_Click(object sender, EventArgs e) {
  webBrowser1.Update();
}

Ahora Botón Inicio “btInicio”

private void btInicio_Click(object sender, EventArgs e){
  webBrowser1.GoHome();
}

Ahora Botón Ir A “btIrA”

private void btIrA_Click(object sender, EventArgs e){
  webBrowser1.Navigate(tbDireccionWeb.Text);
}

Ahora os dejo el código completo de deberían tener en Form1.Cs

using System;
using System.Collections.Generic; 

using System.ComponentModel;
using System.Data; 

using System.Drawing;
using System.Text; 

using System.Windows.Forms;   

namespace SethBrowser{ 

 public partial class Form1 : Form { 

  public Form1(){
    InitializeComponent();
  } 

  private void btAtras_Click(object sender, EventArgs e)  {
    webBrowser1.GoBack();
  } 

  private void btAdelante_Click(object sender, EventArgs e){
    webBrowser1.GoForward();
  } 

  private void btParar_Click(object sender, EventArgs e){
    webBrowser1.Stop();
  } 

  private void btActualizar_Click(object sender, EventArgs e) {
    webBrowser1.Update();
  } 

  private void btInicio_Click(object sender, EventArgs e){
    webBrowser1.GoHome();
  } 

  private void btIrA_Click(object sender, EventArgs e) {
    webBrowser1.Navigate(tbDireccionWeb.Text);
  }
 }
}

Ya tenemos todos nuestros contoles con sus respectivas acciones.

Veamos como queda Linea de Código en nuestro navegador

Les dejo un proyecto Visual Studio 2005 con el navegador (tiene algunas funcionalidades mas, cómo capturar tecla enter, buscador para google, etc):

Artículos
Java

Usando la API de Twitter4j en java

27/Abr/2010

Hola nuevamente acá estoy posteando de nuevo cómo cambiar el estado de Twitter con java gracias a la API Twitter4J.

Primeramente tenemos que tener descargarnos la API Twitter4J 2.1.2 del siguiente link…

http://twitter4j.org/en/twitter4j-2.1.2.zip

Ya descargada la añadimos a nuestro IDE en mi caso uso Netbeans:

  1. Botón derecho sobre “libraries (Librerías)”
  2. ADD jar/folder (Agregar)
  3. Seleccionamos el archivo que descargamos anteriormente del link antes mencionado

Y listo ya tenemos acceso a la API Twitter4J de twitter…

Comenzaremos creando nuestra clase base llamada TwitterJ.java y hacemos las importaciones correspondientes

import java.util.List;    
import twitter4j.*;

Ahora creamos un atributo privado del tipo Twitter llamado mi_twitter

private Twitter mi_twier;

Siguiendo creamos nuestro honorable constructor de la siguiente manera

public TwitterJ(String userName, String password) {
  try {
    mi_twitter = new Twitter(userName, password);    
    mi_twitter.verifyCredentials(); 
  } catch (TwitterException ex) {             
    System.out.println("Error: "+ex.getMessage());   
  }     
}

Información Constructor:

  • Dos parámetros String que contendran usuario-password respectivamente
  • Creación de objeto con los datos ingresados como parámetros (usuario,password)
  • Verificación de credenciales (si los datos ingresados son correctos)

Ahora crearemos el método que nos dará un nuevo tweet ó cambiará el estado

public void nuevoTweet(String tweet) {

  try {
    this.mi_twitter.update(tweet);    
  } catch (Exception ex) {
    System.out.println("Error: " + ex.getMessage());    
  }
}

Información método nuevoTweet(String tweet):

  • String tweet será el nuevo estado que enviaremos
  • llamamos al método update de la clase Twitter y le damos de parámetro lo ingresado en el argumento de método creado

Ahora crearemos el método que nos devolverá nuestro actual estado

public String getEstado(){
  String estadoActual = "";
 
  try {
    List<Status> statusList = mi_twitter.getUserTimeline();
    estadoActual = String.valueOf(statusList.get(0).getText());    
  } catch (TwitterException ex) {
    System.out.println("Error:"+ex.getMessage());    
  }

  return "Mi Estado es: "+estadoActual;    
}

Información método getEstado( ):

  • creamos una variable que contendrá el estado
  • creamos un List que contendrá lo que venga del método de la clase Twitter ( getUserTimeLine )
  • nuestra variable antes creada tendrá el valor de la lista en la posición o
  • retornamos nuestra variable

Ahora crearemos un método que nos devolverá la lista de contactos en twitter

public void listaDeContactos() {
  try {
    List<User> friends = mi_twitter.getFriends();    
    System.out.println("Lista de Contactos\n");
    
    for (User f : friends) {
      System.out.println("Usuario: "+f.getScreenName());
      System.out.println("Estado: "+f.getStatusText()+"\n");
    }    
  } catch (Exception e) {}
}

Información método listaDeContactos():

  • Creamos un List que contendrá lo que venga del método de la clase Twitter ( getStatusText )
  • Recorrimos la lista “friends” que debería tener los amigos ó contactos
  • Vamos imprimiendo mientras se recorre el for each el USUARIO y ESTADO

La API Twitter4J consta con muchos mas métodos y cosas por el estilo, yo solo te daré la base para comenzar…  puedes hacer una gráfica mas atractiva y usar esta clase para aquello…

Bueno ahora haremos nuestro main:

public static void main(String args[]){
  TwitterJ t = new TwitterJ("mi_user","Mi_password"); 

  t.nuevoTweet("Ejemplo para Lineadecodigo.com");    
  t.listaDeContactos();

  System.out.println(t.getEstado());    
}

Información método main(String args[]):

  • Creamos la instancia a nuestra clase antes creada y a la vez pasamos sus dos argumentos ó parámetros en éste caso USUARIO,PASSWORD
  • usamos el método nuevoTweet para cambiar el estado actual pasando por parámetro el nuevo tweet
  • Llamamos a el método listaDeContactos() que debería imprimir la lista de contactos ó amigos
  • imprimimos el estado actual

Como ya ven es demasiado simple hacer un programa que funcione con Twitter…

Interfaz opcional usando la clase antes creada ( Proyecto para Netbeans )

puedes descargarla de acá : Descargar de aquí(opcional)

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

Reproducir música por java

24/Abr/2010

Para ésto utilizaré las librerías de javazoom. En concreto basicplayer3.0.jar. Soy de pocas palabras. Vamos a código:

Creamos nuestra honorable clase llamada Reproductor.java

public class Reproductor{...}

Añadiremos los imports correspondientes

import javazoom.jlgui.basicplayer.BasicPlayer;
import java.io.File;

Creamos el atributo del tipo BasicPlayer

private BasicPlayer player;

y luego lo creamos en el constructor

player = new BasicPlayer();

Bueno ahora vienen los métodos como el play, stop, pausa, resumen, etc…

public void Play() throws Exception {
  player.play();
}

public void AbrirFichero(String ruta) throws Exception {
  player.open(new File(ruta));
}

public void Pausa() throws Exception {
  player.pause();
}

public void Continuar() throws Exception {
  player.resume();
}

public void Stop() throws Exception {
  player.stop();
}

Con éstos métodos tendríamos ya formado nuestro reproductor…

Así que ahora a usarlo. No creo que tengan mayor problema con lo siguiente:

public static void main(String args[]){
try {
  Reproductor mi_reproductor = new Reproductor();
  mi_reproductor.AbrirFichero("c:/mi_archivo_de_musica.mp3");
  mi_reproductor.Play();
} catch (Exception ex) {
  System.out.println("Error: " + ex.getMessage());
}
}

Como ven es demasiado simple reproducir música en java… pero a la vez éste método quizás no sea tan atractivo, ya que no posee una interfaz bonita ni nada, pero la base es ésta y la interfaz es a gusto de cada uno…

Pero mostrándoles un poco lo que se puede hacer, les dejaré adjunto un reproductor que hice hace algún tiempo haber si les agrada

MP3seth: Descargar aquí

Alguno que se interese en la aplicación gráfica que pida el código y lo envío sin ningún problema.

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