Category Archives: java

[Java] Come convertire una stringa in integer e viceversa

In questo semplice tutorial in Java, vi mostreremo come convertire una stringa in integer e viceversa.
Utilizzeremo la funzione parseInt per trasformare in intero una stringa e la funzione toString per trasformare in stringa un intero. Iniziamo!

Da stringa a intero

  1.  
  2. String str = "555";
  3. Integer.parseInt( str );
  4.  

Da intero a stringa

  1.  
  2. int x =5;
  3. Integer.toString(x);
  4.  

Ottenere il privilegio di root in Java

Nel tutorial di oggi vedremo come creare uno script che permette di ottenere il privilegio di root in Java. Iniziamo!

  1.  
  2. Process p;
  3.  
  4. try {
  5. p = Runtime.getRuntime().exec("su");
  6.  
  7. DataOutputStream os = new DataOutputStream(p.getOutputStream());
  8. os.writeBytes("echo \"Do I have root?\" >/system/sd/temporary.txt\n");
  9. os.writeBytes("exit\n");
  10. os.flush();
  11.  
  12. try {
  13. p.waitFor();
  14. if(p.exitValue() != 255)
  15. toastMessage("root");
  16. else
  17. toastMessage("not root");
  18. } catch(InterruptedException e) {
  19. toastMessage("not root");
  20. }
  21. } catch(IOException e) {
  22. toastMessage("not root");
  23. }
  24.  

Video corso di java online

Ottimo video corso di java proposto dall'università online uninettuno, ecco il programma e in basso il link dove andare a vederlo. 

Introduzione al corso
Videolezione 0: Introduzione al corso
Introduzione a Java
Videolezione 1: Introduzione al corso - Cos' è Java
Videolezione 2: Lo scenario di riferimento del linguaggio Java
Videolezione 3: Installare Java, compilare ed eseguire un programma
Programmazione ad oggetti
Videolezione 4: Introduzione alla programmazione ad oggetti
Videolezione 5: Oggetti, classi e messaggi
Videolezione 6: Approfondimenti
Videolezione 7: Unified Modeling Language (parte 1)
Videolezione 8: Unified Modeling Language (parte 2)
Elementi di base del linguaggio
Videolezione 9: Il linguaggio Java
Videolezione 10: Tipi di dati
Videolezione 11: Costrutti di programmazione
Videolezione 12: Errori, eccezioni e loro gestione
Videolezione 13: Classi, interfacce ed ereditarietà in Java
Videolezione 14: Package
Videolezione 15: Gestione della memoria in Java
Classi Java fondamentali
Videolezione 16: Introduzione alle classi Java fondamentali
Videolezione 17: Input/Output (java.io)
Videolezione 18: Vettori, mappe, tabelle hash (java.util)
Videolezione 19: Gestione del testo (java.text)
Interfacce Grafiche
Videolezione 20: Introduzione alle Interfacce Grafiche
Videolezione 21: Contenitori e contenuto
Videolezione 22: Rispondere agli eventi
Videolezione 23: Gestire la disposizione
Videolezione 24: Applet
Programmazione Concorrente
Videolezione 25: Introduzione alla programmazione concorrente
Videolezione 26: Creazione di thread
Videolezione 27: Sincronizzazione
Videolezione 28: Pattern
Integrazione con le basi di dati
Videolezione 29: Introduzione alle basi dati
Videolezione 30: Java e i DataBase
Videolezione 31: Accesso alle tabelle
Videolezione 32: JDBC e transazioni
Videolezione 33: Applicazioni JDBC
Architetture Web
Videolezione 34: Introduzione alle Architetture Web
Videolezione 35: HyperText Markup Language (parte 1)
Videolezione 36: HyperText Markup Language (parte 2)
Videolezione 37: Web server e programmazione CGI
Videolezione 38: Programmazione lato server (parte 1)
Videolezione 39: Programmazione lato server (parte 2) e lato client
Caratteristiche avanzate di Java
Videolezione 40: Introduzione alle caratteristiche avanzate di Java
Videolezione 41: Introduzione alla comunicazione tra processi con Java
Videolezione 42: Introduzione a XML
Videolezione 43: Introduzione alla programmazione in XML
Videolezione 44: Sicurezza
Programmazione Java lato server
Videolezione 45: Applicazioni Java lato server
Videolezione 46: Introduzione ai Web Container
Videolezione 47: Programmazione con Servlet (parte 1)
Videolezione 48: Programmazione con Servlet (parte 2)
Videolezione 49: Sessioni di lavoro
Videolezione 50: Programmazione con Java Server Pages (JSP)

Sito web: http://albaweb.albacom.net/euphon1.net/nettuno/# 

Installazione java JDK

Installazione del jdk su Linux - Installazione dei file

Dal sito di java è possibile scaricare due differenti versioni del jdk per Linux. Le due versioni sono assolutamente identiche per quanto riguarda i contenuti.
L'unica differenza è data dal formato con cui vengono distribuiti.

  1. Il file j2sdk-VERSIONE-XXXXX.rpm.bin si può utilizzare con tutte le distribuzioni che sfruttano il sistema rpm - Redhat Package Manager per la gestione dei pacchetti software.
    Tra le distribuzioni che usano nativamente questo formato, si trovano ad esempio: Fedora/ Redhat, Mandriva (ex-Mandrake), Suse/Novell.

    Per installare il file del jdk:

    • Assegnare il permesso di esecuzione al file j2sdk-blablabla.rpm.bin. Questa operazione puo' essere effettuata tramite interfaccia grafica, modificando le proprieta' del file; oppure tramite terminale: aprire un programma di emulazione terminale (konsole, gnome-terminal, xterm), spostarsi nella cartella in cui è contenuto il file del jdk, ed eseguire il comando:
      chmod +x j2sdk-blablabla.rpm.bin.
    • Da terminale, dalla cartella in cui è contenuto il file del jdk, eseguire il comando:
      ./j2sdk-blablabla.rpm.bin.
    • Dopo aver letto la licenza, digitare "yes". Nella stessa cartella verra' creato il file j2sdk-blablebli.rpm, che puo' essere "dato in pasto" al gestore dei pacchetti.
      Per installare i file: rpm -iv j2sdk-blablebli.rpm
  2. Il file j2sdk-VERSIONE-XXXXX.bin(senza rpm in mezzo) si puo' utilizzare su tutte le distribuzioni.

    Per installare il file del jdk:

    • Assegnare il permesso di esecuzione al file j2sdk-blablabla.bin. (come si fa? vedere il punto precedente)
    • Da terminale, dalla cartella in cui è contenuto il file del jdk, eseguire il comando:
      ./j2sdk-blablabla.bin.
    • Dopo aver letto la licenza, digitare "yes". Il file si autoscompatterà, ottenendo una cartella jqualcosa-blablabla.
      È consigliabile spostare la cartella ottenuta in modo che sia accessibile da tutti gli utenti, indipendentemente dalla posizione. Ad esempio, creando una cartella sotto /usr/java:

      mkdir /usr/java
      mv ./jqualcosa-blablabla /usr/java.

      Attenzione: bisogna prestare attenzione alla cartella usata, perchè va utilizzata per l'impostazione del PATH (vedere punto successivo).

Dopo aver installato i file, per utilizzare i comandi del jdk indipendentemente dalla posizione dei programmi java nel file system, bisogna configurare la variabile d'ambiente PATH.
Installazione del jdk su Linux - Impostazione del PATH

Modificare il file

/etc/profile

(attenzione: modificabile solo dall'utente root)

e aggiungere in fondo:

export PATH=$PATH:DIRECTORY_IN_CUI_È_INSTALLATO_IL_JDK

Dove:
DIRECTORY_IN_CUI_È_INSTALLATO_IL_JDK
è la directory in cui sono presenti i programmi di java (java, javac, ...)

Se è stato utilizzato l'rpm, la directory dovrebbe essere qualcosa del tipo:

/usr/java/j2sdk1.4.1_01/bin

Ovviamente questo dato va personalizzato in base alla propria installazione, ed alla versione del jdk!
Installazione del jdk su Windows 2000/XP

La procedura è illustrata sul sito di java, ed è praticamente identica per le versioni 1.3 e 1.4. L'unico passo delicato è l'impostazione della variabile d'ambiente PATH dopo l'installazione.

Aprire il pannello di controllo, selezionare l'icona "Sistema", per aprire il pannello "Proprieta' del sistema". (Se questa non è visibile, selezionare "Passa alla visualizzazione classica"). In "Proprieta' del sistema", selezionare la linguetta "Avanzate", quindi il pulsante "Variabili d'ambiente".
Nella sezione "Variabili di sistema", doppio-click su "Path", ed in "Valore variabile" aggiungere in fondo la cartella in cui sono presenti i file di programma del jdk (java.exe, javac.exe, ecc). Se il jdk è stato installato, ad esempio, in C:\Programmi\j2sdk, la cartella corretta è

C:\Programmi\j2sdk\bin.

Dopo aver riavviato la macchina, i comando javac e java dovrebbero funzionare.

Attenzione: il percorso del jdk va aggiunto alla variabile Path preesistente, non bisogna sovrascriverla!

Installazione del jdk su Windows 95/98/Me

Attenzione: Windows 95 NON supporta versioni di jdk > 1.3.

Dopo aver eseguito il pacchetto autoinstallante, l'unico passo delicato è l'impostazione della variabile d'ambiente PATH.

La procedura è piu' simile a quella di Linux, rispetto quella di Windows 2000/XP

Modificare il file C:\AUTOEXEC.BAT, aggiungendo, in fondo:

set PATH=%PATH%;DIRECTORY_IN_CUI_È_INSTALLATO_IL_JDK

Dove:
DIRECTORY_IN_CUI_È_INSTALLATO_IL_JDK
è la directory in cui sono presenti i programmi di java (java, javac, ...)

Se il jdk è stato installato, ad esempio, in C:\Programmi\j2sdk, la cartella corretta è

C:\Programmi\j2sdk\bin.

Dopo aver riavviato la macchina, i comando javac e java dovrebbero funzionare.

Java Splash screen (parte 3)

Iniziamo a commentare le porzioni di codice che ci interessano per lo script. Vediamo quali sono le librerie che ci servono:

import java.awt.event.*;
import java.awt.*;
import java.net.URL;

La prima ci serve per gestire gli eventi delle finestre; la seconda contiene i metodi per la gestione delle finestre; la terza ci serve per caricare l'immagine. Vediamo quale è la porione di codice che dobbiamo modificare per personalizzare il nostro script.

public static void main(String[] args)
{
SplashScreen splashScreen = new SplashScreen("logo.gif");
splashScreen.splash();
try {
Thread.sleep(5000);
scacchi mainWindow = new scacchi();
mainWindow.show();
splashScreen.dispose();
}
catch(InterruptedException ex) {
System.out.println(ex);
}
}

Intuitivamente si capisce che "logo.gif" è l'immagine che verrà caricata. Per settare il tempo di permanenza dell'immagine nello schermo si usa "Thread.sleep(5000);" dove 5000 è il valore che ci dice quanto tempo dobbiamo aspettare. "scacchi mainWindow = new scacchi();" richiama una classe chiamata scacchi che io ho usato come classe di esempio che deve essere vista dopo lo splash screen. Chiaramente potete metterci qualsiasi nome.

Java Splash screen (parte 2)

public void initImageAndTracker()
{
fMediaTracker = new MediaTracker(this);
URL imageURL = SplashScreen.class.getResource(fImageId);
fImage = Toolkit.getDefaultToolkit().getImage(imageURL);
}
public void center()
{
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle frame = getBounds();
setLocation((screen.width - frame.width)/2, (screen.height - frame.height)/2);
}
public static void main(String[] args)
{
SplashScreen splashScreen = new SplashScreen("logo.gif");
splashScreen.splash();
try {
Thread.sleep(5000);
scacchi mainWindow = new scacchi();
mainWindow.show();
splashScreen.dispose();
}
catch(InterruptedException ex) {
System.out.println(ex);
}
}
}
public class SplashWindow extends Window
{
SplashWindow(Frame aParent, Image aImage) {
super(aParent);
fImage = aImage;
setSize(fImage.getWidth(null), fImage.getHeight(null));
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle window = getBounds();
setLocation((screen.width - window.width) / 2, (screen.height - window.height) / 2);
setVisible(true);
}
public void paint(Graphics graphics)
{
if (fImage != null) {
graphics.drawImage(fImage,0,0,this);
}
}
private Image fImage;
}

Copiare e incollare testo in java

In questo articolo tratteremo come realizzare il classico copia e incolla di
testo.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Esempio extends JTextArea
{
 
//costruttore
public Esempio() 
{
super("", 10, 40);
setText("Che bella giornata di sole che fa oggi");
}

//main
public static void main(String[] args) 
{
JFrame f = new JFrame("Copia e incolla");
Container cp = f.getContentPane();
cp.setBackground(UIManager.getColor("control"));
cp.add(new JScrollPane(e = new Esempio()), "Center");
JPanel p = new JPanel();

JButton b = new JButton("Copy");
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
e.copy(); //copia il testo negli appunti
}
});
p.add(b);

b = new JButton("Cut");
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
e.cut(); //taglia il testo negli appunti
}
});
p.add(b);

b = new JButton("Paste");
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
e.paste();  //incolla il testo dagli appunti
}
});
p.add(b);

cp.add(p, "South");
f.pack();
f.setVisible(true);
}

static Esempio e;
}