mercoledì 28 aprile 2010

giovedì 15 aprile 2010

Lezione 15 aprile 2010

create table ristorante (id int, nome varchar(30), indirizzo varchar(30), primary key(id))
insert into ristorante values(1,"calimero", "via pulcino nero n34")
insert into ristorante values(2, "osteria del Ghiottone", "via del sorcio morto 22")
select * from ristorante where id=1;
uptade ristorante set indirizzo="via del sorcio vivo 22" where id=2;
delete from ristorante where id=1;

giovedì 11 marzo 2010

ServerSemplice.java

import java.io.*;
import java.net.*;
import java.util.*;
public class ServerSemplice {
PrintWriter[] clienti=new PrintWriter[20];
public class ElaboraCliente implements Runnable{
BufferedReader lettore=null;
Socket sock=null;
//creo lo Stream di input
public ElaboraCliente(Socket c){
try{
sock=c;
lettore=new BufferedReader(new InputStreamReader(sock.getInputStream()));
}catch(Exception ex){
ex.printStackTrace();
}
}
@Override public void run(){
String messaggio;
try{
while((messaggio=lettore.readLine())!=null){
System.out.println("ho letto: "+messaggio);
InetAddress indirizzo=sock.getInetAddress();
String ind=indirizzo.toString();
String m=ind+" "+messaggio;
chiacchierone(messaggio);
}
}catch(Exception ex){
ex.printStackTrace();
}
}
}
public void go(){
try{
//portone di ascolto
ServerSocket portone=new ServerSocket(4242);
int i=0;
while(true){
//creo il collegamento con il cliente che ha bussato al portone
Socket portina=portone.accept();
//creo lo stream per scrivere i messaggi al cliente
PrintWriter scrittore=new PrintWriter(portina.getOutputStream());
//salvo in un array questo stream di output
clienti[i]=scrittore;
i++;
//........
//creo uno stream di input per quel cliente e mi metto a ricevere i suoi messaggi
//spedisco il messaggio ricevuto a tutti i client
Thread t=new Thread(new ElaboraCliente(portina));
t.start();
}
}catch(Exception ex){
ex.printStackTrace();
}
}
public void chiacchierone(String messaggio){
for(int i=0;i<20;i++){
if(clienti[i]!=null){
try{
clienti[i].println(messaggio);
clienti[i].flush();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
}
public static void main(String args[]){
ServerSemplice s=new ServerSemplice();
s.go();
}
}

Client.java

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.*;
public class Client {
BufferedReader lettore;
Socket sock;
PrintWriter scrittore;
JTextField t1=new JTextField(20);
JTextArea a1=new JTextArea(20,50);
public void finestra(){
JFrame f1=new JFrame("semplice chat");
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p1=new JPanel();
JButton b1=new JButton("invia il messaggio");
p1.setLayout(new GridLayout(3,1));
p1.add(a1);
p1.add(t1);
p1.add(b1);
b1.addActionListener(new InviaMessaggio());
f1.add(p1);
f1.setSize(500,500);
f1.setVisible(true);
Thread tt=new Thread(new InArrivoDalServer());
creaCollegamento();
tt.start();
}
public class InviaMessaggio implements ActionListener{
public void actionPerformed(ActionEvent e){
try{
scrittore.write(t1.getText());
scrittore.println(t1.getText());
//per riazzerare il metodo
scrittore.flush();
}catch(Exception ex){ex.printStackTrace();}
t1.setText("");
}
}
public void creaCollegamento(){
try{
sock=new Socket("192.168.3.25",4242);
lettore= new BufferedReader(new InputStreamReader(sock.getInputStream()));
scrittore= new PrintWriter(sock.getOutputStream());
System.out.println("collegamento stabilito");
}catch(Exception ex){
ex.printStackTrace();
}
}
public class InArrivoDalServer implements Runnable{
public void run(){
String messaggio;
try{
while((messaggio=lettore.readLine())!= null){
a1.setText(messaggio);
System.out.println("leggo il messaggio:"+messaggio);
}
}catch(Exception ex){
ex.printStackTrace();
}
}
}
public static void main(String[]args){
Client cc=new Client();
cc.finestra();
}
}

domenica 7 febbraio 2010

Clienete1.java

import java.io.*;
import java.net.*;
public class Cliente1{
public void go(){
try{
Socket s=new Socket("192.168.3.25",4242);
InputStreamReader r=new InputStreamReader(s.getInputStream());
BufferedReader reader=new BufferedReader(r);
String suggerimento=reader.readLine();
System.out.println("suggerimento: "+suggerimento);
reader.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
public static void main(String[]cargs){
Cliente1 c1=new Cliente1();
c1.go();
}
}

mercoledì 3 febbraio 2010

Poligono cliccando sui vertici

import java.awt.event.*;
import java .awt.*;
import javax.swing.*;
public class Retta extends JPanel implements MouseListener {
private int x1;
private int y1;
private int x2;
private int y2;
private int conta=0;
private int i=0;
private int[] ascisse=new int[50];
private int[] ordinate=new int[50];
private int numero=5;
public Retta(){
addMouseListener(this);
}
@Override public void mouseClicked(MouseEvent e){

}
@Override public void mouseEntered(MouseEvent e){

}
@Override public void mouseExited(MouseEvent e){

}
@Override public void mousePressed(MouseEvent e){
ascisse[i]=e.getX();
ordinate[i]=e.getY();
i++;
if(i>numero-1){
i=0;
repaint();
}
}
@Override public void mouseReleased(MouseEvent e){
}
@Override public void paintComponent(Graphics g){
int j=0;
g.setColor(Color.red);
for(j=0;j
g.drawLine(ascisse[j], ordinate[j], ascisse[j+1], ordinate[j+1]);
}
g.drawLine(ascisse[0], ordinate[0], ascisse[j], ordinate[j]);
}
}



import java.awt.*;
import javax.swing.*;
public class TestaRetta {
public static void main(String Args[]){
Retta r1=new Retta();
JFrame f1=new JFrame("Retta");
f1.setSize(500,500);
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f1.add(BorderLayout.CENTER,r1);
f1.setVisible(true);
}
}

disegnare un cerchio

import java.awt.event.*;
import java .awt.*;
import javax.swing.*;
public class TestaCerchio {
public static void main(String Args[]){
Cerchio c1=new Cerchio();
JFrame f1=new JFrame("Cerchio");
f1.setSize(500,500);
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f1.add(BorderLayout.CENTER,c1);
f1.setVisible(true);
}
}

import java.awt.event.*;
import java .awt.*;
import javax.swing.*;
public class Cerchio extends JPanel implements MouseListener {
private int x1;
private int y1;
private int x2;
private int y2;
private double raggio=0;
private int raggioCast=0;
private int conta=0;
public Cerchio(){
addMouseListener(this);
}
@Override public void mouseClicked(MouseEvent e){

}
@Override public void mouseEntered(MouseEvent e){

}
@Override public void mouseExited(MouseEvent e){

}
@Override public void mousePressed(MouseEvent e){
int x=e.getX();
int y=e.getY();
conta++;
if(conta==1){
x1=x;
y1=y;
}
if(conta==2){
x2=x;
y2=y;
double differenza1=x1-x2;
double differenza2=y1-y2;
raggio=Math.sqrt(Math.pow(differenza1,2)+(differenza2));
System.out.println(raggio);
raggioCast=(int)raggio;
System.out.println(raggioCast);
conta=0;
repaint();
}
}
@Override public void mouseReleased(MouseEvent e){

}
@Override public void paintComponent(Graphics g){
g.setColor(Color.BLUE);
g.drawOval(x1, y1, raggioCast, raggioCast);
}
}