12/4/07

String.format en Java


Para fechas:
String.format("%1$te/%1$tm/%1$tY",[variable calendar]);
Para números enteros:
String.format("%1$d",[variable entera]);
Para double / float:
String.format("%1$.2f",[variable double o float]); // saca el nº con 2 decimales

21/3/07

HTML: Label más text en HTML

Para que quede bien el típico texto con un input box en html, es decir, el label sobre el input y alineado a la izquierda con el mismo.
(ver el código de la página)

Buscar

7/3/07

Java. Detectar una cambio en la selección de un JTable

Sirve por ejemplo para mostrar un dato a mayores sobre el registro que se muestra en la tabla en otra parte del formulario.
Hay que cambiar el "modelo de seleccionador" en principio el ponemos que solamente se pueda seleccionar una sola fila y luego definimos una clase para que se llame al evento y se la añadimos al "modelo de seleccionador" en el evento "Selection". (Pa flipá vamos. Lo que se echa de menos un "OnSelect" de toda la vida)

this.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);/* lo de que solamente se pueda seleccionar una fila.*/

lsm = this.jTable1.getSelectionModel();
lsm.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e){
MetodoALlamarCuandoCambiaLaSeleccion();
}
};

Para saber la fila seleccionada se usa el método del JTable.getSelectedRow().

java String.format

"%" + posicion del parámetro + "$" + tipo de dato

para formatear cadenas: "s"
String.format(" la cadena %1$s", "es muy bonita") --> la cadena es muy bonita

para formatear enteros: "d"

String.format(" cantidad: %1$d", 4) --> cantidad: 4

1/3/07

Elementos en los jList ( los que muestran una lista cadenas para seleccionar (ListBox))

Un dolor cambiar los datos una vez cargados. Como siempre hay una clase vista (el jList) y una clase modelo (AbstractListModel, DefaultListModel). El netbeans les crea por defecto una clase anónima heredada de AbstractListModel en la que (manda webs el tema) NO SE PUEDE AÑADIR ELEMENTOS así que de necesitarlo (que será lo normal) habrá que asociar ( con setModel(modelo) ) al jList una instancia de la clase DefaultListModel a la que sí que se puede hacer de todo con los elementos y la vista se actualiza automáticamente con los cambios por lo visto (esto último no lo has probado).

Doble click en swing

Resulta que no hay evento doble click (pa flipá vamos) se usa el MouseClicked y se comprueba la cantidad de veces que se ha pulsado. Funciona bien el tema (y no se puede controlar un tercer click solo lo hace con 2 clicks)


private void lTablaMouseClicked(java.awt.event.MouseEvent evt) {
if (evt.getClickCount() >= 2){// si es doble click
JOptionPane.showMessageDialog(this,"Doble click"); }
}
}

Creación de un table model específico para un JTable

El enlace del título tiene un tutorial sobre el tema que no está mal. Pero en realidad lo que supongo que se hará es heredar de la clase AbstractTableModel e implementar los métodos abstractos.

http://www.chuidiang.com/java/tablas/tablamodelo/tablamodelo.php

20/2/07

Mini tutorial de action en Java

Un estilo al TAction de Delphi 4 pero años despues y teniendo que escribir código. En fin es lo que hay.

http://java.sun.com/docs/books/tutorial/uiswing/misc/action.html

29/1/07

Creación de pdfs desde java

Utilizar iText. Hay un libro y todo "iText in action". Permite además con los mismos comandos crear Htmls y rtfs.

11/1/07

Serialización de objectos en java


package pruebasserializacion;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Calendar;

/**
*
* @author ivancruz
*/
class Elemento implements Serializable{
int cod;
String nomb;
Calendar fNac;
public Elemento(int cod, String nomb, Calendar fNac){
this.cod = cod;
this.nomb = nomb;
this.fNac = fNac;
}
public String toString(){
return Integer.toString(cod) + "//" + nomb + DateFormat.getDateInstance().format(fNac.getTime());
}
}

public class Main {
final static String NOMBFICH = "d:\\borrame.serializacion";
public static void main(String[] args) throws IOException, ClassNotFoundException {
Main m = new Main();
ArrayList escribir = new ArrayList();
escribir.add(new Elemento(1,"Uno",Calendar.getInstance()));
escribir.add(new Elemento(2,"Dos",Calendar.getInstance()));

FileOutputStream fos;
fos = new FileOutputStream(Main.NOMBFICH);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(escribir);

//ArrayList leer;
FileInputStream fis = new FileInputStream(Main.NOMBFICH);
ObjectInputStream ois = new ObjectInputStream(fis);
ArrayList leer = (ArrayList)ois.readObject();
for(Elemento e:leer){
System.out.println(e);
}
}
}

13/11/06

Visita Simo 2006

www.solmicro.com: ERP ampliable y configurable. Te dan el código fuente y generadores de código.

26/10/06

BENEDETTI

"POEMAS REVELADOS" (Libro en casa de Dunia)
  • "NO TE SALVES"
    • "NO QUIERAS CON DESGANA"
  • "DEFENSA DE LA ALEGRIA"
    • Casi completo
  • "LA TREGUA"
    • Trabajar de camarero
  • "EL OLVIDO"
    • "EL OLVIDO NO ES VICTORIA"
    • "NO OLVIDA EL QUE FINGE OLVIDO,
      SINO EL QUE PUEDE OLVIDAR"

13/8/06

HTML Base

Tabla con 3 zonas e imágenes de fondo.

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>TODO supply a title</title>
</head>
<body style="margin:0px;padding:0px">

<table style="valign:centered;text-align:center;width:100%;height:100%;border-spacing:0px">
<tr style="height:20%">
<td style="valign:centered;text-align:center;background-image:url('borrame.jpg')">

<h1>Encabezado</h1>
</td>
</tr>
<tr style="height:65%">

<td style="valign:centered;text-align:center;background-image:url('borrame.jpg')">
<p>cuerpo</p>
</td>

</tr>
<tr style="height:15%">
<td style="valign:centered;text-align:center;background-image:url('borrame.jpg')">

<p>pie</p>
</td>
</tr>
</table>
</body>

</html>

3/8/06

¿Qué debe incluir un caso de uso?

Actor Principal
Precondiciones
Postcondiciones
Flujo Básico
Flujos Alternativos
Requisitos especiales
Frecuencia

Web sobre el tema "usecases.org"

23/6/06

Java: Leer una url



try{
java.net.URL url = new java.net.URL("http","www.ya.com",80,"");
java.io.InputStream is = url.openStream();
System.out.println("[ya.com]");
int c;
while ((c = is.read()) != -1){
System.out.write(c);
}
System.out.println("[ya.com fin]");
}catch(Exception e){
e.printStackTrace();
}

5/6/06

Interesante historia acerca de pasar de Windows a Linux

La escribio usuario de barrapunto conocido como "year of the dragon". Es una ida de olla interesante y amena. La conclusión es que utilices programas compatibles Windows y Linux (normalmente software libre) para ir pasando poco a poco hasta que windows no te haga falta.
(para verla pulsar sobre el título del artículo)

Mostrar tablas de un esquema de Oracle


Select * from cat

Nota: Información de catálogo.