Visualizzazione post con etichetta Java. Mostra tutti i post
Visualizzazione post con etichetta Java. Mostra tutti i post

CSV Editor

 Ieri sera ho pubblicato sul server l'ultima revisione (ancora colpevolmente marchiata come "r01 unstable") dell'editor CSV che ho scritto durante il confinamento per Covid. Rispetto a tre anni fa ho corretto numerosi bug e aggiunto qualche funzionalità che mi serviva nell'altro progetto estensione di questo.


L'applicazione è stata creata utilizzando le librerie:

  • OpenCSV 4.0 per la manipolazione del CSV;
  • FlatLaf per adeguare l'aspetto dell'applicazione ai giorni nostri.

E' possibile scaricare l'applicazione da qui.

Milionario 4.9

Circa un mesetto fa ho ricevuto questa richiesta via email:
Innanzitutto grazie per il programma linux version.
Ho personalizzato alcuni elementi e sto valutando di usarlo per i ragazzi giovani/ssimi che seguo come forma di apprendimento-diversivo graduale.
Ti chiedo (da non esperto) se è possibile modificare dimensioni e font delle finestre per adeguarsi alle nuove risoluzioni fullHD.
Grazie.
Ste.

Ho colto subito l'occasione per rimettere mano al codice del Milionario fermo alla versione 4.8 dal 2016. 

Quattro anni fa avevo ancora il monitor CRT 19" 1280x1024 e il portatile con risoluzione 1366x768: un'applicazione che utilizza solo finestre 1024x768 non sembrava poi così strana. 

Oggi, alla presenza di portatili e monitor LCD con risoluzione 1920x1080 ed oltre, è improponibile giocare con un'applicazione che occupa solo poco meno di metà schermo.

Ho quindi pensato di sdoppiare la grafica: sono presenti la versione 1024x768 e la versione 1920x1080; la scelta tra le versione è fattibile tramite menù. Ho perciò dovuto rivedere tutte le immagini e i layout dei singoli pannelli.

Ho inoltre svecchiato il codice utilizzando qualche nuovo oggetto introdotto da Java5 e Java7 (Enum, PropertiesChangeListener, ...). Inoltre l'interfaccia grafica è diventata monofinestra e le configurazioni dell'applicazione (risoluzione, abilitazione musica e abilitazione effetti sonori) vengono ora salvate su file di testo.

La finestra unica della nuova versione 4.9

E' possibile scaricare la versione 4.9 del gioco Milionario dal seguente link.

Un editor di CSV

Questa è più che altro una comunicazione di servizio nata dalla noia di questi giorni di quarantena. Dubito che qualcuno abbia la necessità utilizzare il mio editor di file CSV in quanto le applicazioni Microsoft Excel e LibreOffice Calc lo fanno già egreggiamente.

I file CSV sono degli elenchi testuali di valori separati dalla virgola (,) o dal punto e virgola (;) a seconda del paese dello scrittore. La rappresentazione più comune dei CSV è la forma tabellare.

L'applicazione è quindi una grossa tabella in cui è possibile cercare e modficare i valori.

Ho utilizzato le librerie OpenCSV 4.0 che sono gratuite e molto ben documentate. Questa applicazione nasce come parte di un'altra applicazione più complessa che sto sviluppando. Alcune funzioni sono ancora incomplete e non credo verranno sviluppate in futuro a meno che non siano fondamentali per l'applicazione principale.

E' possibile scaricare l'applicazione da qui.

Un editor di testo

Questa è più che altro una comunicazione di servizio nata dalla noia di questi giorni di quarantena. Dubito che qualcuno abbia mai scaricato e utilizzato o voglia utilizzare il mio editor di testo.

E un editor di testo che fa concorrenza al blocco note di Windows. Non ha nulla di più tranne la possibilità di aprire più file contemporaneamente.

Si tratta di un progetto del 2006 a cui ho recentemente messo mano in quanto l'editor di testo mi serve come componente di una applicazione più complessa. Per utilizzarlo come componente ho dovuto aggiungere metodi a qualche classe e ne ho approfittato per modificare lo stile delle icone rendendolo leggermente più moderno. Da qui puoi raggiungere la pagina dedicata al download.

Avviare applicazioni Java da Nautilus 3

Sul file manager Nautilus 3.10.1 installato su ArchLinux non c'era possibilità di avviare le applicazioni scritte in Java e compresse nel formato Jar. Per aggiungere tale opzione è stato necessario creare il file di testo run-jar.desktop e salvarlo nella cartella /usr/share/applications/. Il contenuto del file è il seguente:

[Desktop Entry]
Encoding=UTF-8
Type=Application
Exec=java -jar %f
Icon=java
Name=Avviatore di Jar
Comment=Avvia le applicazioni Java in archivi Jar

In questo modo, cliccando con il tasto destro del mouse su un qualunque file di tipo Jar, è possibile scegliere l'applicazione "Avviatore di Jar" per avviare l'applicazione contenuta nel file Jar.


Portachiavi 1.6 beta

Oggi rilascio la versione 1.6 beta del Portachiavi. Ho creato questa nuova versione in quanto ho aggiunto i tasti che permettono di copiare i dati dal Portachiavi verso altre applicazioni e, quando necessario, di incollare i dati da queste ultime al Portachiavi.

Ho poi colto l'occasione per riscrivere alcuni pezzi dell'interfaccia grafica, in particolare le parti relative alle finestre di dialogo, secondo il Factory Method Pattern in modo da eliminare diverse classi simili ed unirle in un'unica classe il cui oggetto si configura al momento dell'istanzazione. Sia chiaro, nulla di fondamentale, è stato semplicemente un semplice esercizio di programmazione per impare a seguire un pattern diverso dal (mio) solito.

E' possibile scaricare la versione 1.6 dalla pagina ufficiale del progetto.

Pix2Pdf 1.1 beta

Riscritta completamente l'interfaccia grafica sostituendo quella scritta con Jigloo con quella costruita con Window Builder Pro, plug-in di Eclipse recentemente rilasciato da Google.

Con l'occasione ho separato in processo di elaborazione del PDF dal resto del programma evitando il congelamento dell'interfaccia grafica durante l'elaborazione. Per fare questo ho utilizzato SwingWorker, un nuovo oggetto messo a disposizione a partire da Java6. SwingWorker esegue, lanciato da un evento, un'operazione in background lasciando libero il resto dell'applicazione. Qui sotto allego il pezzo di codice che richiama la costruzione del PDF tramite l'esecuzione dello SwingWorker che, al termine dell'operazione, segnala l'avvenuto termine.

setStatusMessage("Elaborazione in corso...");
SwingWorker worker = new SwingWorker() {
  @Override
  public Void doInBackground() {
    makePdf();
    return null;
  }
  @Override
  public void done() {
    setStatusMessage("Elaborazione terminata.");
  }
};
worker.execute();

Link per il download: http://www.urbo.altervista.org/it/download/Pix2Pdf/Pix2Pdf.php

Portachiavi 1.5 beta

Segnalo la disponibilità di una nuova versione del "Portachiavi" in quando l'aggiornamento a quest'ultima è molto importante.

Nelle versioni precedenti mi ero dimenticato di inserire la barra di scorrimento verticale a lato della lista e dunque, superato un certo numero di dati inseriti, era impossibile leggerli tutti perché non più visualizzabili.

Ho colto l'occasione per introdurre la possibilità di esportare il portachiavi cifrato dentro un archivio zippato in modo da renderlo, in un certo senso, trasferibile da un computer ad un altro. Esiste anche la funzione di importazione che sostituisce il portachiavi esistente con quello contenuto nell'archivio zippato.

E' possibile scaricare la versione 1.5 beta cliccando qui.

Portachiavi 1.4 beta

Segnalo il rilascio della versione 1.4 del mio Portachiavi. Un'applicazione Java che ci consente di liberarci dei post-it appiccicati al monitor contenenti le password più disparate.

Portachiavi 1.4 consente di memorizzare i dati di accesso (username e password) in maniera sicura all'interno del proprio computer. I dati vengono salvati su un file cifrato (TripleDES) e protetto da una password.

Per infomazioni più dettagliate e per il download è sufficiente aprire la pagina dedicata.

Pix2Pdf: creare un PDF da un gruppo di immagini

Images2Pdf Pix2Pdf* è la normale evoluzione di Images2Latex, una piccola applicazione che, in maniera abbastanza complicata e scomoda vuole ottenere un documento PDF contente un'immagine per pagina.

Quando serve?
Ho l'abitudine di scannerizzare la documentazione tecnica riguardante le macchine agricole. Una pagina, una scansione, un'immagine: molto scomodo da conservare e conservare. Con Pix2Pdf è possibile inserire tutte le immagini delle scansioni all'interno di un documento PDF che diventerà la copia elettronica del documento originale.

N(oiose n)ote tecniche
Pix2Pdf è s multipiattaforma (funziona su Windows, su Linux e su MacOsX) essendo scritto in Java; inoltre crea direttamente il documento PDF grazie alla libreria iText.
Come al solito ho scritto quest'applicazione grazie ad Eclipse ma, in questo caso, ho usato un tool grafico (Jigloo) per la rapida creazione dell'interfaccia grafica Swing. Jigloo è un plug-in Eclipse gratuito col vincolo di non utilizzato per scopi commerciali.

Download
E' possibile scaricare l'applicazione passando dalla pagina dedicata a Pix2Pdf.

_____________________________
* Dopo soli due giorni dalla pubblicazione ho cambiato nome all'applicazione in quanto mi sono accorto che con il primo nome era già identificata un'altra applicazione commerciale ($$) che dovrebbe fare esattamente la stessa cosa che fa Pix2Pdf.

I plugins di Eclipse e il nuovo UrboPad

La domanda lecita è: perchè ho scritto una nuova applicazioncina con java proprio nel periodo in cui sto lentamente morendo a causa degli esami troppo fitti?

La risposta che sembra ovvia è: perchè sono un masochista!

In realtà ho voluto provare il plugin per eclipse che permette di creare con una sorta di drag&drop le interfaccie grafiche delle applicazioni. Tale plugin si chiama Visual Editor e per funzionare ha bisogno dei plugins Eclipse Modeling Framework e Graphical Editing Framework tutti scaricabili dal sito eclipse.org.

Con questo sistema ho riscoperto il piacere di scrivere applicazioni poichè non devo più perdere molto tempo con la costruzione delle interfaccie grafiche. Il codice prodotto dai plugins è veramente limpido e comprensibile.

Per provare le loro potenzialità ho scritto una piccola applicazione che era da tempo nei miei progetti: un semplicissimo editor di testo che può essere scaricato nella pagina dei download del sito.