Archive for 'java'


Leggere un file xml in java

Posted on 01. May, 2006 by Administrator.

0

In questo articolo tratteremo come leggere un file xml in java.

dati.xml

<?xml version="1.0"?>
<libri>
<libro>
<autore>pippo</autore>
<titolo>primo titolo</titolo>
<costo>11</costo>
</libro>
<libro>
<autore>sandro</autore>
<titolo>secondo titolo</titolo>
<costo>34</costo>
</libro>
</libri>

Loadxml.java

import java.io.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import javax.xml.parsers.*;

public class Loadxml extends DefaultHandler
{
static public String file="dati.xml";
static public String nodo;
public static void main(String args[])
{
DefaultHandler handler = new Loadxml();
SAXParserFactory factory = SAXParserFactory.newInstance();
try
{
out = new OutputStreamWriter(System.out, "UTF8");
SAXParser saxParser = factory.newSAXParser();
saxParser.parse(file, handler);
}
catch (Throwable t) { t.printStackTrace(); }
}

static private Writer out;

public void startElement(String namespaceURI,String lName,String
qName,Attributes attrs)throws SAXException{
String name = lName;
if ("".equals(name)) {nodo=qName;}
}

public void endElement(String namespaceURI,String sName,String qName) throws
SAXException{
String name = sName;
if ("".equals(name)) {nodo=qName;}
}

public void characters(char buf[], int offset, int len) throws SAXException{
String s = new String(buf, offset, len);
if(s.length()>1){
if(nodo=="autore") System.out.println(nodo+"-> "+s);
if(nodo=="titolo") System.out.println(nodo+"-> "+s);
if(nodo=="costo") System.out.println(nodo+"-> "+s);
}
}
}
 

Continue Reading

Inviare una email in java con smtp

Posted on 01. May, 2006 by Administrator.

0

In questo articolo tratteremo come inviare una email con java utilizzando il
protocollo smtp.
Il codice è ovvio, l'unica osservazione da fare è che il server deve essere
il server smtp con il quale ci si connette a internet.
Ad esempio io mo connetto con tele2 per cui il mio server è smtp.tele2.it,
chi si connette con tiscali ad esempio smtp.tiscali.it.

import java.util.*;
import java.net.*;
import java.io.*;

public class InvioMail

static BufferedReader in;
static PrintWriter out;
static String server="smtp.tele2.it";
static String mittente="sandrostracuzzi@hotmail.com";
static String destinatario="sandrostracuzzi@hotmail.com";
static String messaggio="ciao";

public static void main(String[] args)

try

Socket s = new Socket(server, 25);
out = new PrintWriter(s.getOutputStream());
in = new BufferedReader(new InputStreamReader(s.getInputStream()));

String hostName = InetAddress.getLocalHost().getHostName();

receive();
send("HELO " + hostName);
receive();
send("MAIL FROM: <" + mittente + ">");
receive();
send("RCPT TO: <" + destinatario + ">");
receive();
send("DATA");
receive();
StringTokenizer tokenizer = new…

Continue Reading

Applicare un tema a una applicazione java

Posted on 01. May, 2006 by Administrator.

0

In questo articolo tratteremo come cambiare colore e font ai componenti di un
frame applicando un tema esterno.

Innanzitutto creiamo un frame generico con
due pulsanti e una textarea:

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

public class pippo extends JFrame
{
private JTextArea jTextArea1;
private JScrollPane jScrollPane1;
private JList jList1;
private JScrollPane jScrollPane2;
private JButton jButton1;
private JButton jButton2;
private JPanel contentPane;

public pippo()
{
super();
initializeComponent();
this.setVisible(true);
}

private void initializeComponent()
{
jTextArea1 = new JTextArea();
jScrollPane1 = new JScrollPane();
jList1 = new JList();
jScrollPane2 = new JScrollPane();
jButton1 = new JButton();
jButton2 = new JButton();
contentPane = (JPanel)this.getContentPane();

jTextArea1.setText("jTextArea1");
jScrollPane1.setViewportView(jTextArea1);
jScrollPane2.setViewportView(jList1);

jButton1.setText("jButton1");
jButton2.setText("jButton2");

contentPane.setLayout(null);
addComponent(contentPane, jScrollPane1, 160,20,100,100);
addComponent(contentPane, jScrollPane2, 224,144,100,100);
addComponent(contentPane, jButton1, 41,176,83,28);
addComponent(contentPane, jButton2, 39,118,83,28);

this.setTitle("pippo - extends JFrame");
this.setLocation(new Point(0, 0));
this.setSize(new Dimension(390, 300));
}

private void addComponent(Container container,Component c,int x,int y,int
width,int height)
{
c.setBounds(x,y,width,height);
container.add(c);
}

public void applyTheme()
{
MetalTheme theme = null;
MetalTheme theme2 = null;

theme = new PippoTheme();
theme2 = new SandroTheme();

MetalLookAndFeel.setCurrentTheme(theme2);
try
{
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
SwingUtilities.updateComponentTreeUI(this);
}
catch(Exception e)
{
System.out.println(e);
}

}

public…

Continue Reading

Conoscere il percorso del file corrente in java

Posted on 01. May, 2006 by Administrator.

0

Obiettivo
In questo articolo tratteremo come conoscere il percorso del file corrente

Codice

String curdir=System.getProperty("user.dir");
System.out.println(curdir);

Continue Reading

Zoommare elementi in un pannello

Posted on 01. May, 2006 by Administrator.

0

In questo articolo tratteremo come attraverso il metodo scale() è possibile
zoommare gli elementi di un JPanel.
Per semplicita zoommeremo la scritta "Hello world" attraverso un
JSlider.

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 
import java.awt.geom.*; 
import java.util.EventObject;
import javax.swing.event.*;

public class Rotate extends JPanel
{
double zoom = 3; //(1-> default; ]0,1[ -> zoom out, ]1, +inf[ -> zoom in) 
static JSlider slider; 

public Rotate()
{
super();
slider = new JSlider(0,100,0);

ChangeListener evento1 = new
ChangeListener()
{
public void stateChanged(ChangeEvent e)
{
JSlider source=(JSlider)e.getSource();
zoom=source.getValue();
repaint();
}
};
slider.addChangeListener(evento1);

slider.setPaintTicks(true); //aggiunge i misuratori
slider.setMajorTickSpacing(20); //setta i misuratori
slider.setMinorTickSpacing(5); //setta i missuratori
}

public void paintComponent(Graphics gr)

super.paintComponent(gr); 
Graphics2D g = (Graphics2D)gr; 
AffineTransform oldTransform = g.getTransform(); 
g.scale(zoom, zoom); 
// do your painting stuff here 
gr.drawString("Hello World", 20, 20); 
g.setTransform(oldTransform);
}

public static void main(String argv[])
{
JFrame j = new JFrame("");
Rotate rot=new Rotate();
j.getContentPane().add(new JScrollPane(rot),"Center");
j.getContentPane().add(slider,"South");
j.setSize(250, 300);
j.setVisible(true);
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

}

Continue Reading

leggere i dati da un database access con jdbc

Posted on 30. Apr, 2006 by Administrator.

1

Obiettivo
In questo articolo tratteremo un semplice modo per connettersi ad un database
access con
java jdbc ed eseguire una qualsiasi query.

Articolo
Avremo infatti due aree di testo in cui metteremo la stringa sql da eseguire
in una e nell'altra
visualizzeremo il risultato della query.
Non occorre impostare nessuna fonte di dati odbc perchè si connette
direttamente al file.
Il nostro database pippo.mdb sarà cosi costituito
 
contatti
 
ID autonumber
NOME text
COGNOME text
INDIRIZZO text
TELEFONO text
 
Il programma in java pippo.java sarà invece:

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

public class pippo extends JFrame
{
private JTextArea jTable1;
private JScrollPane jScrollPane1;
private JTextArea jTextArea1;
private JScrollPane jScrollPane2;
private JButton esegui;
private JButton azzera;
private JPanel contentPane;

public pippo()
{
super();
initializeComponent();
this.setVisible(true);
}

private void initializeComponent()
{
jTable1 = new JTextArea();
jScrollPane1 = new JScrollPane();
jTextArea1 = new JTextArea("inserisci qui la query ...");
jScrollPane2 = new JScrollPane();
esegui =…

Continue Reading

Lettura e scrittura file .props

Posted on 30. Apr, 2006 by Administrator.

0

In questo articolo analizzeremo come leggere e scrivere un file .props. Chiaramente darò per
scontato il fatto che avete l'interprete java installato e che sapete qualcosa di java. 

Innanzitutto creiamo un file con estenzione .props chiamandolo install.props

Supponiamo di volere memorizzare solo il valore di
due variabili, abbiamo tanti modi a disposizione per farlo: possiamo
memorizzarli in un database,in un file di testo, ... ,e in un file

props.

Il procedimento è molto facile.

Supponiamo di volere memorizzare le variabili
"soldi" e "cambio" e li inizializziamo a zero

il nostro file install.props sarà cosi

 

soldi=0

cambio=bo!

 

Ecco il codice per leggere e memorizzare questi
dati da una finestra java

 

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.Properties;

public class modificaprop extends JFrame implements ActionListener
{
JTextField Textsoldi;
JTextField Textcambio;
JLabel Labelsoldi;
JLabel Labelcambio;
JButton…

Continue Reading

Come generare la documentazione java

Posted on 30. Apr, 2006 by Administrator.

0

In questo articolo tratteremo come creare commenti sulla documentazione
Java sdk contiene uno strumento che genera la documentazione html dai file sorgente.
Il comando da digitare per generare il codice è 

javadoc -d doc *.java

dove doc è il nome della cartella dove si creeranno i documenti
*.java prende tutti i file java

I commenti iniziano con /** e finiscono con */.
Possiamo estrarre la documentazione da
package
classi
metodi
campi

Un commento a un metodo di una classe potrebbe essere
/**

stampa la stringa hello world
*/
public void stampa()
{
System.out.println("hello world"); 
}

Oltre ai commenti si possono inserire altri campi
@param variabile descrizione
@return descrizione
@throws classe descrizione
@author nome
@version testo
@since testo
@deprecated testo
@see collegamento 

@param indica un parametro del metodo
@return indica cosa ritorna il metodo
@throws indica che il metodo puo…

Continue Reading

Realizzare una chat con flash e php (parte 2 il server)

Posted on 30. Apr, 2006 by Administrator.

0

In questo articolo tratteremo come realizzare il server per la chat in php.Questo server riceve qualsiasi tipo di messaggi da un client e lo manda a tutti
i clients conessi ad esso.
Lo useremo in futuro per altre applicazioni.
Il server si avvia mandando in esecuzione il file php sul server. 1111 è la porta da utilizzare

Il codice del nostro server è:

<?

//ciclo infinito
set_time_limit(0);

// Turn on implicit output flushing so we see what we're getting
ob_implicit_flush();

$address = '127.0.0.1';
$port = 1111;

if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) {
echo "socket_create() failed: reason: " . socket_strerror($sock) . "\n";
}

if (($ret = socket_bind($sock, $address, $port)) < 0) {
echo…

Continue Reading

Realizzare una chat con flash e php

Posted on 30. Apr, 2006 by Administrator.

1

Obiettivo
In questo articolo tratteremo come realizzare una chat con i socket con flash e il server in
php.Il nostro client sarà composto da tre layers:

Articolo

Cominciamo con il primo layer "as". Nel primo frame mettiamo come codice:

stop();

nel secondo frame:

stop();
Selection.setFocus("message"); //imposta il focus nell'input text dove si
scrivono i messaggi

Passiamo al secondo layer "socket". Mettiamo nell'unico frame come codice:

//crea oggetto socket
socket = new XMLSocket();
//lega le funzioni associate agli eventi
socket.onConnect = newConnection;
socket.onClose = connectionLost;
//si connette host,porta
socket.connect("127.0.0.1", 1111);

function newConnection(good){
if (good){
txtStatus += " Connected!";
}else{
txtServer += "Error Connecting!";
}
}

function connectionLost(){
txtServer += "\n connection lost.\n";
}

//riceve i dati
socket.onData = function(data) {

if(data.toString()!=""){
_root.txtServer+=data+"\n";
//scrolling
scr = txtServer_txt.scroll;
if (scr<txtServer_txt.maxscroll) {
txtServer_txt.scroll = scr+1;
}
scroll = txtServer_txt.scroll;
maxscroll = txtServer_txt.maxscroll;
}
}

Nell'utimo layer "chat" mettiamo i componenti della chat.

Nel primo frame mettiamo…

Continue Reading