applet finita
descrizione
primi elementi
?????
applet finita
Si può copiare l'area di testo e incollarla su un editor java, poi si può procedere a compilare.
Per usare l'applet modifica il valore dell'angolo e premi "OK".
Su PC si ha una visione migliore se si seleziona: visualizza, carattere, medio.
import java.awt.*; public class rotazione extends java.applet.Applet{ //definizione delle variabili Point O,A,A1; int l,h,q,alfa; double teta; Button OK; Label angolo,gradi; TextField campo_testo; //definizione delle funzioni double rad(int angolo){ return angolo*Math.PI/180; } int dammi_x(Point O,Point A,double ang){ return (int)((A.x-O.x)*Math.cos(ang)+(A.y-O.y)*Math.sin(ang)+O.x); } int dammi_y(Point O,Point A,double ang){ return (int)((A.y-O.y)*Math.cos(ang)-(A.x-O.x)*Math.sin(ang)+O.y); } public void init() { l=size().width; h=size().height; q=l/3; O=new Point(l/2,h/2); A=new Point(O.x+q,O.y); alfa=30; teta=rad(alfa); A1=new Point(dammi_x(O,A,teta),dammi_y(O,A,teta)); angolo=new Label("Rotazione di"); add(angolo); campo_testo=new TextField(Integer.toString(alfa),4); add(campo_testo); gradi=new Label("gradi"); add(gradi); OK=new Button("OK"); add(OK); angolo.setBackground(Color.white); gradi.setBackground(Color.white); OK.setBackground(Color.white); setBackground(Color.white); } public boolean action(Event evt, Object arg){ if (evt.target instanceof Button) { String chipigio=(String)arg; if (chipigio=="OK"){ alfa= Integer.parseInt(campo_testo.getText()); teta= rad(alfa); A1= new Point(dammi_x(O,A,teta),dammi_y(O,A,teta)); } repaint(); } return true; } public void paint(Graphics g) { g.drawLine(O.x,O.y,A.x,A.y); g.setColor(Color.red); g.drawLine(O.x,O.y,A1.x,A1.y); g.fillOval(O.x-2,O.y-2,4,4); g.fillOval(A1.x-2,A1.y-2,4,4); g.setColor(Color.darkGray); g.drawOval(O.x-2,O.y-2,4,4); g.drawOval(A1.x-2,A1.y-2,4,4); g.setColor(Color.cyan); g.fillOval(A.x-2,A.y-2,4,4); g.setColor(Color.darkGray); g.drawOval(A.x-2,A.y-2,4,4); } }