Archive for March, 2008

A lo largo de diferentes posts, intentaré publicar una pequeña guía - tutorial para crear Interfaces Gráficas de forma sencilla y potente en Java gracias a QTJambi (librerías gráficas GPL) de la empresa Trolltech y el IDE Eclipse. QT Jambi dispone de un plugin para Eclipse que se integra muy bien en todo el entorno y de esta forma podemos  trabajar de forma más cómoda y rápida.

Lo primero que hay que hacer es descargarse todos los paquetes necesarios disponibles aquí:

  1. Descargarse Qt Jambi Open Source Edition for Java Developers (para la plataforma que queramos)
  2. Descargarse Qt Eclipse Integration for Jambi

Una vez hecho esto seguimos las instrucciones de instalación del plugin de Eclipse y como empezar a crear un proyecto nuevo. Es muy importante agregar el .jar externo del punto [1] a nuestros proyectos de Eclipse. Esto se hace haciendo click con el botón derecho del ratón y seleccionando properties. Nos debería quedar una cosa así.eclipseintegration

 

 

 

 

 

 

Ahora ya podemos crear un proyecto nuevo. Propongo una ventana simple, con dos cuadros de texto en los que escribiremos , en el primero una frase, en el segundo un número de iteraciones a repetir la frase, un botón simple y una salida de texto con la frase repetida tantas veces como le hayamos dicho al programa.

screenshotwindow

 

 

 

 

 

 

Con el QTDesigner UI creamos la interface y nos debería quedar una cosa parecida a este screenshot.

Nota: Podéis cambiar el nombre de los botones apretando con el botón derecho y de esta manera hacer más fácil y más legible el código:

package sample;
import com.trolltech.qt.gui.*;

public class Main extends QMainWindow{

    Ui_MainClass ui = new Ui_MainClass();
    public static void main(String[] args) {
        QApplication.initialize(args);
        Main testMain = new Main(null);
        testMain.show();
        QApplication.exec();  
    }
    //constructor
    public Main(QWidget parent){
        super(parent);
        ui.setupUi(this);
        ui.pushButton.clicked.connect(this, "go()");
        ui.textEdit.update();
    }
    public void go(){
        int numberOfIterations = Integer.parseInt(ui.lineEditIterations.text());
        for(int i=0; i<numberOfIterations; i++) {
            ui.textEdit.append(ui.lineEditText.text());
        }   
    }
}

Comments No Comments »

A día de 21 de marzo de 2008 a las 23.31 los dns de ya.com (62.151.8.100 y 62.151.2.8 ) se encuentran caídos. Al parecer mi conexión estaba “en orden” pero no resolvía nombres, al poner la ip de google ( 216.239.59.104 ) voilá, tenía red: total que poniendo la dns de otro proveedor a través de la caché de google funcionaba. He intentado llamar al centro de atención al cliente de ya.com al 902 902 902, si eliges la opción 1 “incidencia técnica” te cuelgan la llamada al aparecer un tono comunicando, si eliges la opción 2 “cualquier otra consulta” te dicen que debido a la festividad de hoy no curran … lamentable. Si a alguien le pasa introduciros en el panel de control de vuestro router y “a manija” poned la dns 195.235.96.90 que funciona correctamente.

Nota: según varios usuarios de meneame.net la mejor opción es usar las OpenDNS y así te evitas problemas de estos… son: 208.67.222.222 y 208.67.220.220.

ACTUALIZADO (00.05 horas) la web de ya.com también está petada.

ACTUALIZADO (10.22 horas) todo sigue igual de petado según confirman en foros y algunos usuarios.

ACTUALIZADO (11.09 horas) vuelven a funcionar los DNS de ya.com … en total más de 12 horas sin servicio y sin dar explicaciones a miles de usuarios en toda España.

Comments 17 Comments »

Visto en meneame.net enviada por Fluzo
Esto es lo que hace una presentadora de teleMadrid mientras espera que le den paso … tiene muchas cosas que hacer la chavalina (Anna Samboal) … ahí está la gente más preparada de España …

Tags: ,

Comments 3 Comments »

Confirmado por ellos

y de regalo para todos los gambiteros :D y via menéame un montón de ROMS free (exactamente 90.311)

Tags: , ,

Comments No Comments »

Los documentos XML son muy útiles para almacenar grandes cantidades de información de forma ordenada y estructurada. Si tenemos uno de estos documentos y lo que queremos es “extraer” la información que nos interesa podemos usar XPath (XML Path Language) y de esta manera recorrer de forma fácil y eficiente un documento XML. Podemos usar expresiones sencillas de XPath dentro de nuestro código Java. Un ejemplo sería:
tenemos un archivo XML con varios títulos de lbros:

<biblioteca>
<libro year=”1998″>
<titulo>El puno de Dios</titulo>
<autor>Frederick Forsyth</autor>
<genero>Novela Historica</genero>
<editorial>Plaza y Janés</editorial>
<isbn>8484502449</isbn>
</libro>

<libro year=”2004″>
<titulo>El medico</titulo>
<autor>Noah Gordon</autor>
<genero>Ficción Historica</genero>
<editorial>Ediciones B</editorial>
<isbn>8466616381</isbn>
</libro>

<libro year=”2000″>
<titulo>El cuarto Protocolo</titulo>
<autor>Frederick Forsyth</autor>
<genero>Novela Policíaca</genero>
<editorial>DeBolsillo</editorial>
<isbn>8497595122</isbn>
</libro>
</biblioteca>

Con este fragmento de código creamos un documento la que le pasamos el XML a parsear:

factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder;
builder = factory.newDocumentBuilder();
Document document = builder.parse(“libros.xml”);

Con este código creamos un objeto XPath al que le pasamos una expresión regular que evaluamos:
//create a XPath factory
XPathFactory xfactory = XPathFactory.newInstance();
//create a XPath object thanks to XPath factory
XPath xpath = xfactory.newXPath();
//now we need an expression to compile thanks to the xpath object
XPathExpression expression = xpath.compile(“//libro”);
//evaluate the expression,we need the document and all the NODESET
Object obj = expression.evaluate(document, XPathConstants.NODESET);
//to find all the titles we can iterate throw a DOM Nodelist
NodeList nodes = (NodeList) obj;

Finalmente iteramos para obtener, en este caso, el año y el título de todos los libros que hay en nuestro documento XML
for(int i=0; i
System.out.println(nodes.item(i).getAttributes()
.getNamedItem(“year”).getTextContent());
System.out.println(document
.getElementsByTagName(“titulo”).item(i).getTextContent());
}La salida que obtendremos sería:1998
El puno de Dios
2004
El medico
2000
El cuarto ProtocoloMás información en:The Java XPath API
Referencia oficial del lenguaje en W3C
The XPath Toolkit in Java 5 Subo los archivos originales, tanto el XML como la clase de Java:

libros.xml
XPathSample.java
Nota: Si os sirve de utilidad o para cualquier sugerencia, enlazad el post y dejadme un comentario!!!

Gracias!

Tags: , , ,

Comments No Comments »

He visto vía meneame una noticia cuyo enlace incluye un listado de universidades con cursos online gratuitos detodo tipo. Desde el Massachusetts Institute of Technology a la Universidad de Stanford o la University of California, Berkeley.

 Universities with the best free online courses

Tags: , , , , ,

Comments No Comments »

acidtest.JPGMicrosoft ya ha sacado la beta de su nuevo navegador Internet Explorer 8 y parece ser que se van a preocupar y cuidar mucho de que cumpla los estándares web. De moment ya pasa el test Acid2 y lo he podido comprobar yo mismo, os dejo screenshot. Había sin embargo un rumor por la red de que no pasaba el test. Microsoft lo justificaba en su blog de desarrolladores de IE8 aludiendo a que la web oficial era una en concreto y que solamente pasaba este test Acid2 dado que en la red hay muchos diferentes. Que cada uno haga sus pruebas y saque sus conclusiones.

Tags: , , ,

Comments No Comments »

En este vídeo visto en engadget se puede ver a un niño recibiendo su regalo de Navidad. Es una XBOX 360! No! Es la caja de una XBOX 360 y dentro hay jerseys.

Sin llorar como un campeón.

Tags: , ,

Comments 4 Comments »

Cerrar
E-mail It