mercoledì 22 febbraio 2012

Shortcut keys in Vaadin

Ecco un'ottima guida su come aggiungere degli shortcut a pulsanti ed altri componenti in Vaadin:
https://vaadin.com/book/-/page/advanced.shortcuts.html

Vediamo un semplice esempio nel quale definiamo uno shortcut su un pulsante, in questo caso il tasto enter:
Button ok = new Button("OK");ok.setClickShortcut(KeyCode.ENTER);

venerdì 17 febbraio 2012

Temi e Sfondo componenti Vaadin

Per cambiare lo sfondo dei componenti in Vaadin serve creare un theme customizzato con delle regole CSS.

Per dettagli riguardo i themes vedi qui, e per una guida su come crearli con l'Eclipse Plugin vedi qui.

Dopo aver creato il suddetto tema, avremo il file styles.css che conterrà le regole CSS, ad esempio:

.sfondo-blu1 {
background: #E6F8FE;
}

Per associarlo al componente utilizziamo questo codice Java:
myTextField.setStyleName("sfondo-blu1");

mercoledì 8 febbraio 2012

Disinstallare manualmente applicazioni da Windows XP

Vediamo come disinstallare manualmente le applicazioni da Windows XP:

- Cercare la directory dell'applicazione ed eliminarla

- Aprire regedit, andare su HKEY_LOCAL_MACHINE\SOFTWARE, ed eliminare la cartella dell'applicazione

- Aprire regedit, andare su HKEY_CURRENT_USER\SOFTWARE, ed eliminare la cartella dell'applicazione

- Per rimuovere l'applicazione da Aggiungi/Rimuovi, aprire regedit ed andare su HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, ed eliminare la cartella dell'applicazione

- Alcune applicazioni hanno servizi collegati, per eliminarli andare su HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

- Queste sono le cartelle dove solitamente si trovano i files di configurazione:

  • C:\Documents and Settings\All Users\Start Menu\Programs
  • C:\Documents and Settings\All Users\Start Menu\Programs\Startup
  • C:\Documents and Settings\%YourUserID%\Start Menu\Programs
  • C:\Documents and Settings\%YourUserID%\Start Menu\Programs\Startup

martedì 31 gennaio 2012

Colore sfondo ContentPanel in ExtGWT

La documentazione presente per ExtGWT scarseggia, per capire come cambiare il colore dello sfondo di un ContentPanel c'è voluto mezz'ora, anche a causa di post che si contraddicevano...

Ad ogni modo, ecco come impostare il colore dello sfondo del ContentPanel:
panel.setBodyStyle("backgroundColor: #colore_qui;");

sabato 28 gennaio 2012

Compressione contenuti Vaadin

Di solito è una buona cosa comprimere con gzip tutto il traffico http in chiaro di Vaadin, per la velocità e in modo da minimizzare la quantità di dati trasferiti. Per farlo bisogna configurare il server, ed è un concetto applicabile in generale e non solo per Vaadin.

Quando la compressione gzip è abilitata, il server comprime i dati inviati al browser, spesso con conseguente riduzione notevole della dimensione dei dati trasferiti e quindi del tempo di download.

Non vogliamo comprimere roba che è già molto compressa, come ad esempio i file JPEG, perciò dobbiamo fare in modo che il server conosca quali mime-type vogliamo comprimere. Di solito il server è preconfigurato per comprimere alcuni tipi noti, come HTML e CSS, ma un mime-type che di solito manca è quello utilizzato per la comunicazione JSON che utilizza Vaadin, cioè application/json.

Vediamo come configurare Tomcat

In Tomcat, è necessario configurare il connettore per avere compression="on" ed impostare compressableMimeType con l'appropriato mime-type (il default di Tomcat 7 è "text/html, text/xml, text/plain", ed effettivamente manca application/json). Inoltre, è possibile impostare il compressionMinSize per soddisfare le raccomandazioni di Google. E' possibile farlo nel file server.xml:

<Connector port="8080"
   …OTHER STUFF...
   compression="on"
   compressionMinSize="500"
   compressableMimeType="text/html,text/xml,text/plain,application/javascript,application/json"/>

Buon utilizzo!

giovedì 26 gennaio 2012

Escape SQL strings in Java

Capita spesso di dover elaborare stringhe di testo per eliminare i caratteri speciali. Per questo scopo possiamo avvalerci della classe StringEscapeUtils di Apache Commons.

Ecco un esempio:
import org.apache.commons.lang.StringEscapeUtils;

public class StringUtilsEscapeExampleV1 {

  public static void main(String args[]) {
    String unescapedJava = "Are you for real?";
    System.err.println(
      StringEscapeUtils.escapeJava(unescapedJava));

    String unescapedJavaScript = "What's in a name?";
    System.err.println(
      StringEscapeUtils.escapeJavaScript(unescapedJavaScript));

    String unescapedSql = "Mc'Williams";
    System.err.println(
      StringEscapeUtils.escapeSql(unescapedSql));

    String unescapedXML = "";
    System.err.println(
      StringEscapeUtils.escapeXml(unescapedXML));

    String unescapedHTML = "";
    System.err.println(
      StringEscapeUtils.escapeHtml(unescapedHTML));

  }
}
Oppure, nei casi più semplici, possiamo usare un semplice replaceAll() che sostituisce tutte le occorrenze di un dato carattere. Ad esempio, quando si lavora con stringhe SQL, causano problemi i singoli apici ( ' ), che è possibile rimpiazzare semplicemente con stringa.replaceAll("'", "''")

mercoledì 25 gennaio 2012

Aggiungere elementi ad una Table in Vaadin

Vediamo come aggiungere elementi ad una Table in Vaadin

Innanzitutto bisogna definire i campi della tabella:
table.addContainerProperty("field1", String.class, null);
table.addContainerProperty("field2", Integer.class, null);

Poi, per aggiungere elementi alla tabella, possiamo specificarne il numero di riga:
table.addItem(new Object[] { field1TextField.getValue(), field2TextField.getValue(), new Integer(1));
table.addItem(new Object[] { field1TextField.getValue(), field2TextField.getValue(), new Integer(2));

oppure impostare null come numero di riga, in questo modo verrà effettuato un append a fine tabella:
table.addItem(new Object[] { field1TextField.getValue(), field2TextField.getValue(), null);

LiveChat

http://www.meebo.com/rooms

Cerca su Wiki

Cerca su Google

Cerca nel Blog con Google