Mandare in esecuzione i seguenti metodi della classe Spiegazione: 1) public Introduzione getIntroduci(Android a){...} 2) public void vicenda(){...} 3) public void Conclusione(String s){...} 4) public Domande[] su Dubbi(Classe c){...} 5) public Risposte[] aiDubbi(Classe c){...} 6) public void fine(){...}
1) Spiegazione s1= new Spiegazione(); Android a1= new Android(); Introduzione i1= s1.getIntroduci("Oggi parleremo del linguaggio Android");
2) Spiegazione s1= new Spiegazione(); s1.vicenda();
3) Spiegazione s1= new Spiegazione(); String s2; s1.conclusione(s2);
4) Spiegazione s1= new Spiegazione(); Domande[] d1= new Domande[19]; Classe c2=new Classe ("4al"); d1=s1.suDubbi(c2);
5) Spiegazione s1= new Spiegazione(); Risposte[]r1=new Risposte[19]; Classe c2=new Classe("4al"); r1=s1.aiDubbi(c2);
6) Spiegazione s1= new Spiegazione(); s1.fine("Arrivederci ragazzi, ci vediamo");
La verifica consisteva nel risolvere a scelta un esercizio su due. Il primo chiedeva che al click di uno dei tre bottoni visualizzati comparisse la scritta "hai cliccato il bottone x". Ecco la risoluzione dell'esercizio:
Si faccia con android una calcolatrice che effettui soltanto l'operazione di somma (risolto).
a)creo il progetto; b)modifico la main.xml dove aggiungo due EditText,una TextView e un Bottone sommatore. c)modifico la classe "Calcolatrice1" aggiungendo la gestione del bottone.
Punto 1: - si faccia un nuovo progetto e in seguito modificare la main.xml di "Hello Word" la stringa in modo da avere "Hello Word, Nome".
Punto 2: - inserire nella main.xml un bottone da nominare "Sono un Bottone".
Punto 3: - modificare il programma che apre il database cambiando il database e la tabella. Il database chiamarlo "Scuola" e la tabella "Studente". (P.S.: ad ogni punto è stato compilato il programma scrivendo nel comando DOS "ant install") Ecco il sorgente:
package com.database.tutorial; import android.app.Activity; import android.os.Bundle; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteException; import android.content.Context; import android.widget.*; import android.view.View; import android.content.Intent; public class Studenti extends Activity { private final String DB_NAME = "Scuola.db"; private SQLiteDatabase database = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); creaDatabase(); creaTabellaStudente(); } public void creaDatabase(){ try{ database=openOrCreateDatabase(DB_NAME,SQLiteDatabase.CREATE_IF_NECESSARY, null); } catch (SQLiteException e) { e.printStackTrace(); } } public void creaTabellaStudente(){ try{ if (database.isOpen()){ database.execSQL("CREATE TABLE IF NOT EXISTS studente(_id integer primary key autoincrement, nome char(10), indirizzo e-mail varchar(30)"); } } catch (SQLiteException e) { e.printStackTrace(); } } }
Il convegno trattava tematiche inerenti alla scuola del futuro, quello, in poche parole, che cambierà e deve cambiare nello studio delle materie da parte degli studenti e dei professori stessi per stare alla pare con gli altri paesi europei. Pertanto come rappresentanti dell'ITIS "Alessandro Volta" di Perugia abbiamo esposto i nostri "blog didattici" da noi utilizzati a informatica. La foto che troverete qua sotto è quella dei rappresentanti della nostra scuola (in ordine da sinistra verso destra: Lorenzo Millucci, Silvano Natalizi e Luigi Marzocchella). che potete trovare anche su facebook.
Creare un programma con una sola finestra, un bottone e una casella di testo con una classe interna. Stampare poi quello che viene scritto nella casella di testo:
import java.awt.event.*; public class EsSemplice { JFrame f1=new JFrame("classe interna"); JTextField t1= new JTextField(); JButton b1= new JButton("stampa"); public EsSemplice(){ f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f1.add(BorderLayout.CENTER,t1); f1.add(BorderLayout.SOUTH,b1); f1.setSize(200,200); f1.setVisible(true); b1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ String t2; t2=t1.getText(); System.out.println(t2); } }); } public static void main(String[]args){ EsSemplice s1= new EsSemplice(); } }
per creare un database attraverso il DOS c'è bisogno di questi piccoli passi:
//andare sulla cartella sqlite e scrivere: esempio sqlite3 android.db;
//per creare il database: create table ristorante (id int, nome varchar(30),indirizzo varchar(30), primary key(id));
// per inserire dei dati: ogni virgola una colonna e le righe ogni volta che aggiungo dei dati insert into ristorante values (1,"calimero","via pulcino nero n 34"); insert into ristorante values (2,"Osteria del Ghiottone", "via del sorcio morto n 22");
select * from ristorante; //per mostrare tutta la tabella
select * from ristorante where id=1; // per mostrami una riga
//per modificare una riga già inserita nella tabella update ristorante set indirizzo="via del sorcio vivo n 22" where id=2;
//per cancellare una riga già inserita nella tabella delete from ristorante where id=1;
NB: terminare i comandi da dare a SQLITE sempre con il punto e virgola.
public class Now extends Activity implements View.OnClickListener { /** Called when the activity is first created. */ Button btn; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); btn=new Button(this); btn.setOnClickListener(this); updateTime(); setContentView(btn); } public void onClick(View view){ updateTime(); } private void updateTime(){ btn.setText(new Date().toLocaleString()); }
Si inserisca nella chat client-server semplice il "gioco dell'oca" dove mostrare, nascondere le posizioni nel gioco e a scelta casuale del cliente tramite un tasto si abbia un "cerchietto" in una parte del gioco.
import java.awt.event.*; import java.io.*; import java.net.*; import java.util.*; import javax.swing.*; import java.awt.*; public class Compito extends JPanel{ Color colore1=Color.YELLOW; Color colore2=Color.RED; String numero=""; String n=""; int y; int z; int[][]coord={{110, 80},{150, 100},{170, 130},{170, 170},{150, 210},{115, 230}, {80, 230},{40, 210},{10, 170},{10, 130},{30, 100},{70,80}}; public void setColore1(Color c1){ colore1=c1; }
} public int getY(int b){ y=b; System.out.print(b); return y; } public int nascondiPedine(int c){ y=c; return y; } public int mostraPedine(){ z=1; return z; }
}
import java.io.*; import java.net.*; public class ServerSeplice { public void go(){ try{ ServerSocket s1=new ServerSocket(12);//mi creo una porta di ascolto while(true){ //quando qualcuno chiede di entrare creo un collegamento diretto tra server e client Socket presa=s1.accept(); //il socket è una presa //trasmissione dei dati al client: PrintWriter scrivi=new PrintWriter(presa.getOutputStream());//classe che invia i dati nel collegamento virtuale int s=getSuggerimenti(); scrivi.println(s);//manda nel canale la stringa s scrivi.close(); System.out.println(s); } } catch(IOException ex){ ex.printStackTrace(); }
} private int getSuggerimenti(){ double r1=Math.random()*12; int r=(int)r1; return r; } public static void main(String args[]){ ServerSeplice serv=new ServerSeplice(); serv.go(); } }
import java.awt.event.*; import java.io.*; import java.net.*; import java.util.*; import javax.swing.*; import java.awt.*; public class TestaCompito { int y; BufferedReader lettore; Socket sock; PrintWriter scrittore; JFrame f1=new JFrame("disegno1"); Compito d1=new Compito(); JButton b=new JButton("Ricevi"); JPanel p1=new JPanel(); JButton nascondiPedine=new JButton("Nascondi tutte le pedine"); JButton mostraPedine=new JButton("Mostra tutte le pedine"); JTextField t1; JTextArea a1; JScrollPane scrollPane; public TestaCompito(){ f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); d1.setColore1(Color.YELLOW); d1.setColore2(Color.BLUE); f1.add(BorderLayout.SOUTH,b); b.addActionListener(new RiceviMessaggi()); JFrame f1=new JFrame("Chat gioco"); f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); a1=new JTextArea(20,50); t1=new JTextField(200); JButton b1=new JButton("invia messaggio"); b.addActionListener(new RiceviMessaggi()); nascondiPedine.addActionListener(new NascondiPedine()); p1.setLayout(new GridLayout(4,2)); scrollPane= new JScrollPane(a1);
p1.add(scrollPane, BorderLayout.CENTER); p1.add(t1); p1.add(b1); p1.add(b); p1.add(nascondiPedine); p1.add(BorderLayout.SOUTH,d1); f1.add(p1); p1.add(mostraPedine); mostraPedine.addActionListener(new MostraPedine()); f1.pack(); f1.setVisible(true); } public class RiceviMessaggi implements ActionListener{ public void actionPerformed(ActionEvent e){ go(); p1.repaint(); } } public class NascondiPedine implements ActionListener{ public void actionPerformed(ActionEvent e){ d1.nascondiPedine(33); p1.repaint(); } } public class MostraPedine implements ActionListener{ public void actionPerformed(ActionEvent e){ d1.mostraPedine(); p1.repaint(); } }
// importo le librerie per utilizzare i loro metodi import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.net.*; import java.util.*; //definisco la classe cliente public class Client { //definisco un "carrello" dove raccolgo i dati di nome lettore BufferedReader lettore; //creo il collegamento nella rete definendo una "presa" sock Socket sock; // per scrivere stringhe di carattere PrintWriter scrittore; //definisco la grafica e lo scorrimento JTextField t1=new JTextField(20); JTextArea a1=new JTextArea(20,50); JScrollPane scrollPane; //creo la finestra con le sue parti 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)); scrollPane =new JScrollPane(a1); p1.add(scrollPane,BorderLayout.CENTER); p1.add(t1); p1.add(b1); b1.addActionListener(new InviaMessaggio()); f1.add(p1); f1.setSize(500,500); f1.setVisible(true); // per ogni cliente si crea un thread-programmazione in parallelo Thread tt=new Thread(new InArrivoDalServer()); creaCollegamento(); tt.start(); } //creo una classe interna che ereditano i metodi di ActionListener public class InviaMessaggio implements ActionListener{ public void actionPerformed(ActionEvent e){ //per le istruzioni a rischio utilizzo try-catch try{ scrittore.write(t1.getText()); scrittore.println(t1.getText()); //per riazzerare il metodo scrittore.flush(); }catch(Exception ex){ex.printStackTrace();} t1.setText(""); } } //creo il collegamento tutto all'interno della try-catch public void creaCollegamento(){ try{ //creo un collegamento socket con il server sock=new Socket("192.168.3.18",4242); //creo un raccoglitore BufferedReader, //faccio un InputStreamReader collegato all'InputStream di basso livello del socket 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{ //iterazione continua che legge dal cliente e rispedisce a tutti il messaggio 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(); } } } //mando tutto in esecuzione tramite la main public static void main(String[]args){ Client cc=new Client(); cc.finestra(); } }
// importo le librerie per utilizzare i loro metodi import java.io.*; import java.net.*; import java.util.*; //definisco la classe ServerSemplice public class ServerSemplice { //creo uno stream che è in grado di scrivere stringhe di caratteri, //poichè nella rete viaggiano i byte PrintWriter[] clienti=new PrintWriter[20]; public class ElaboraCliente implements Runnable{ BufferedReader lettore=null; //definisco la presa "sock" Socket sock=null; //creo lo Stream di input public ElaboraCliente(Socket c){ //inserisco la try-catch try{ sock=c; //creo un raccoglitore BufferedReader, //faccio un InputStreamReader collegato all'InputStream di basso livello del socket lettore=new BufferedReader(new InputStreamReader(sock.getInputStream())); }catch(Exception ex){ ex.printStackTrace(); } } //iterazione continua che legge dal cliente e rispedisce i messaggi a tutti @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(); } } } //per riceve i messaggi 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, collegamento vero 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(); } } //per inviare i messaggi public void chiacchierone(String messaggio){ for(int i=0;i<20;i++){ if(clienti[i]!=null){ try{ //array di oggetti clienti[i].println(messaggio); //per riazzerare il metodo clienti[i].flush(); }catch(Exception ex){ ex.printStackTrace(); } } } } //mando il tutto nella main public static void main(String args[]){ ServerSemplice s=new ServerSemplice(); s.go(); } }
} class Scrivi implements ActionListener{ public void actionPerformed(ActionEvent e){ try{ writeInfo("rubrica.txt"); } catch(IOException ioe){ System.out.println("Errore in fase di chiusura dello stream"); System.out.println(ioe.getMessage()); } } } private void writeInfo(String fileName) throws IOException{ FileOutputStream fOut=null; OutputStreamWriter outStream = null; BufferedWriter buffWriter=null; try{ fOut=new FileOutputStream(fileName); outStream=new OutputStreamWriter(fOut); buffWriter=new BufferedWriter(outStream);
String nome=null; String cognome=null; String data=null; String postaElettronica=null; String telefono=null; nome =t1.getText(); cognome =t2.getText(); data =t3.getText(); postaElettronica=t4.getText(); telefono=t5.getText(); buffWriter.write(nome+";"+cognome+";"+data+";"+postaElettronica+";"+telefono+"\r\n"); //outStream.write(nome+";"+cognome+";"+data+";"+postaElettronica+";"+telefono+"\r\n"); System.out.println(cognome); }catch(FileNotFoundException fnfe){ System.out.println("Errore nelle crazioni dei flussi di input e/o output di byte da/verso i file"); System.out.println(fnfe.getMessage()); }catch(UnsupportedEncodingException uee){ System.out.println("Codifiche dei flussi di input e/o di output di caratteri errate"); System.out.println(uee.getMessage()); }catch(IOException ioe){ System.out.println("Errore in fase di lettura e/o scrittura di caratteri"); System.out.println(ioe.getMessage()); } finally{ if(buffWriter !=null){ buffWriter.close();
Si è posto di fare una chat tra gli alunni della classe e il professore aggiungendo poi anche la grafica per rendere il programma più simile ai programmi classici di chat.
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); JScrollPane scrollPane; 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)); scrollPane =new JScrollPane(a1); p1.add(scrollPane,BorderLayout.CENTER); 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.18",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(); } }
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(); } }
buffRead= new BufferedReader(inStream); buffWriter=new BufferedWriter(outStream); String temp=null; // temp=stringa temporanea-una volta carica il nomr, poi cognome ecc String nome=null; String cognome=null; String data=null; int count =1; // per contare che riga sto leggendo while((temp=buffRead.readLine())!= null){ if((count %3)==1) nome =temp;
else if((count %3)==2) cognome =temp;
else{ data =temp; buffWriter.write(nome+";"+cognome+";"+data+"\r\n"); } count++; } System.out.println("Copia effettuata,lette"+(count-1)+"righe"); }catch(FileNotFoundException fnfe){ System.out.println("Errore nelle crazioni dei flussi di input e/o output di byte da/verso i file"); System.out.println(fnfe.getMessage()); }catch(UnsupportedEncodingException uee){ System.out.println("Codifiche dei flussi di input e/o di output di caratteri errate"); System.out.println(uee.getMessage()); }catch(IOException ioe){ System.out.println("Errore in fase di lettura e/o scrittura di caratteri"); System.out.println(ioe.getMessage()); } finally{ if(buffWriter!=null) buffWriter.close(); if(buffRead!=null) buffRead.close(); if(outStream!=null) outStream.close(); if(buffWriter!=null) buffWriter.close(); if(buffWriter!=null) buffWriter.close(); if(buffWriter!=null) buffWriter.close(); }
Si è iniziato il modulo applicativo delle rete definendi alcuni concetti importanti per lo svolgimento di tale argomento. Pertanto si è iniziato a fare degli esercizi riguardanti il Client-Server: al collegamento del cliente al server, verranno inviati casualmente dei messaggi, dei file. E' stata inserita anche la grafica per migliorare l'aspetto dell'arrivo dei messaggi.
import java.io.*; import java.net.*; public class Server { String[] suggerimenti={"studia piu'","e' meglio che esci di casa,pensa alla salute","se non hai dolori accendi un cero alla Madonna"}; public void go(){ try{ ServerSocket s1=new ServerSocket(4242); //indica qual è la porta di comunicazione while(true){ Socket presa=s1.accept(); PrintWriter scrivi=new PrintWriter(presa.getOutputStream()); String s=getSuggerimenti(); scrivi.println(s); scrivi.close(); System.out.println(s); } }catch(IOException ex){ ex.printStackTrace(); } } private String getSuggerimenti(){ int r =(int)(Math.random()*suggerimenti.length); return suggerimenti [r]; } public static void main(String[]args){ Server se=new Server(); se.go(); } }
import java.io.*; import java.net.*; public class Cliente { public void go(){ try{ Socket s = new Socket("192.168.3.17",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[]args){ Cliente c=new Cliente(); c.go(); } }
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.net.*; public class Cliente2 { JFrame f1=new JFrame("Suggerimenti"); JTextArea a1=new JTextArea(); public void go(){ try{ f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f1.add(a1); f1.setSize(500,500); f1.setVisible(true); Socket s = new Socket("192.168.3.17",4242); InputStreamReader r=new InputStreamReader(s.getInputStream()); BufferedReader reader=new BufferedReader(r); String suggerimento=reader.readLine(); a1.setText(suggerimento); System.out.println("Suggerimento: "+suggerimento); reader.close(); }catch(IOException ex){ ex.printStackTrace(); } } public static void main(String[]args){ Cliente2 c=new Cliente2(); c.go(); } }
public class Retta4 extends JPanel { int x1=0; int y1=32; int x2=10; int y2= 50; int x0=50; int y0=100; public void paintComponent(Graphics g){ x2=this.getWidth(); y2=(int) 1.8*x2+32; y0=getHeight()-50; g.setColor(Color.RED); g.drawLine(x1,y1,x2,y2); g.setColor(Color.BLUE); g.drawLine(x0,y0,this.getWidth()-10,y0); g.drawLine(x0, y0, x0, 50); g.setColor(Color.GREEN); g.drawLine(x0,32+y0,x2+x0,+y0-y2); } }
import java.awt.*; import javax.swing.*; public class TestaRetta { public static void main(String[]args){ JFrame f1=new JFrame("testa retta 4"); f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Retta4 r1=new Retta4(); f1.add(r1,BorderLayout.CENTER); f1.setSize(500,500); f1.setVisible(true); } }
L'esercizio consisteva nel convertire valori in Gradi in Fahreneiht ed disegnarne il grafico che ne rappresenta la relazione tra le due misurazioni.
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Verifica2 { private JFrame f1= new JFrame("Conversione da gradi Celsius a gradi Fahrenheit"); private JTextField t1=new JTextField(); private JLabel g = new JLabel("temperatura in °C:"); private JLabel far = new JLabel("temperatura in °F:"); private JLabel l1 = new JLabel(); private JButton b=new JButton("converti"); private GraficoVerifica c = new GraficoVerifica(); public Verifica2(){ f1.setLayout(new GridLayout(3,2)); f1.add(g); f1.add(far); f1.add(l1); f1.add(t1); f1.add(l1); f1.add(b); f1.add(c); f1.setVisible(true); f1.setSize(400,400); f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); b.addActionListener(new Bottone());
} class Bottone implements ActionListener{ public void actionPerformed(ActionEvent e){ String sGradi=t1.getText(); double gradi = Double.parseDouble(sGradi); double Farenait = gradi * 1.8 +32; String converti=Double.toString(Farenait); l1.setText(converti); } } public static void main(String[]args){ Verifica2 v1 = new Verifica2(); } }
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class GraficoVerifica extends JPanel { private int x1=100; double d= x1 *1.8+32; private int y1=(int) d; private int x=0; private int y=32; public void paintComponent(Graphics g){ g.setColor(Color.BLUE); int w=this.getHeight(); g.drawLine(x, y, x1, y1); } }
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Cerchio extends JPanel implements MouseListener { private int x1; private int y1; private int x2; private int y2; private int raggio2=0; private double raggio=0; private int conta =0; private int numero=2; int i=0; public Cerchio(){ addMouseListener(this); } public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} 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; int differenza1= x1-x2; int differenza2= y1-y2; raggio=Math.sqrt(Math.pow(differenza1,2)+(differenza2)); raggio2 =(int)raggio; repaint(); } } public void mouseReleased(MouseEvent e){} public void paintComponent(Graphics g){ g.drawOval(x1,y1,raggio2,raggio2); } }
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class TestaCerchio { public static void main(String[]args){ JFrame f1 = new JFrame("Disegna un cerchio"); f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f1.setSize(400,400); Cerchio c1 = new Cerchio(); f1.add(c1,BorderLayout.CENTER); f1.setVisible(true); } }
Si costruisca un poligono dopo aver fatto dei clicchi con il mouse sulla finestra:
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Segna extends JPanel implements MouseListener { private int x1; private int y1; private int x2; private int y2; private int conta =0; private int numero=5; private int[] ascisse = new int[numero]; private int[] ordinate=new int[numero]; int i=0; public Segna(){ addMouseListener(this); } public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mousePressed(MouseEvent e){ ascisse[i]= e.getX(); ordinate[i]=e.getY(); i++; if(i>numero-1){ i=0; repaint(); } } public void mouseReleased(MouseEvent e){} public void paintComponent(Graphics g){ int i=0; for(i=0;i g.drawLine(ascisse[i],ordinate[i],ascisse[i+1],ordinate[i+1]); } g.drawLine(ascisse[0],ordinate[0],ascisse[i],ordinate[i]); } }
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class TestaSegna { public static void main(String[]args){ JFrame f1 = new JFrame("traccia poligono"); f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f1.setSize(400,400); Segna m1 = new Segna(); f1.add(m1,BorderLayout.CENTER); f1.setVisible(true); } }
Al click del mouse si memorizzino le cordinate per tracciare una retta fino ad un altro punto fatto con un altrettanto click del mouse
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Mouse extends JPanel implements MouseListener { private int x1; private int y1; private int x2; private int y2; private int conta =0; public Mouse(){ addMouseListener(this); } public void mouseClicked(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; conta=0; repaint(); } } public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mousePressed(MouseEvent e){} public void mouseReleased(MouseEvent e){} public void paintComponent(Graphics g){ g.drawLine(x1, y1, x2, y2); } }
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class TestaMouse { public static void main(String[]args){ JFrame f1 = new JFrame("traccia retta"); f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f1.setSize(400,400); Mouse m1 = new Mouse(); f1.add(m1,BorderLayout.CENTER); f1.setVisible(true); } }
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Conta { private JFrame f1 = new JFrame("conta delle lettere"); private JFrame f2 = new JFrame("lettere contate"); private JTextField t1 = new JTextField(); private JButton b1 = new JButton("vai"); private JLabel l1 = new JLabel(); public Conta(){ f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f1.setSize(400,400); f1.add(BorderLayout.NORTH,t1); f1.add(BorderLayout.SOUTH,b1); b1.addActionListener(new Leggi()); f1.setVisible(true); } public int trova(String s1){ int c=0; c=s1.length(); return c; } class Leggi implements ActionListener{ public void actionPerformed(ActionEvent E){ String testo=t1.getText(); int valore=trova(testo); String valore2=Integer.toString(valore); //converte i numeri in parole l1.setText("ci sono: "+valore2+" lettere"); f2.add(BorderLayout.CENTER,l1); f2.setSize(150,150); f2.setVisible(true); f2.repaint(); } } public static void main(String[]args){ Conta c1=new Conta(); } }