import java.awt.*; import java.awt.event.*; import java.applet.*; /** */ public class semiclock extends Applet implements MouseListener,MouseMotionListener{ int x, y ; String tracer; int firsttime=1; String text=""; int mousex; int mousey; int prevx; int prevy; int xcenter=400; int ycenter=400; int radius=200; int r2=radius*radius; int mousepressed=0; Label txt= new Label(""); // this part is added for the making the circular movement int xcen=400,ycen=400; int ycal=0,radiusmov=200; int r2mov = radiusmov * radiusmov; int x11= -radiusmov+xcen; int y11; int x12= xcen-(radiusmov/2); int y12; int x13= (radiusmov/2)+xcen; int y13; // end of added part for making the circlular movement Button A=new Button("A"); Button B=new Button("B"); Button C=new Button("C"); Button D=new Button("D"); Button E=new Button("E"); Button F=new Button("F"); Button G=new Button("G"); Button H=new Button("H"); Button I=new Button("I"); Button J=new Button("J"); Button K=new Button("K"); Button L=new Button("L"); Button M=new Button("M"); Button N=new Button("N"); Button O=new Button("O"); Button P=new Button("P"); Button Q=new Button("Q"); Button R=new Button("R"); Button S=new Button("S"); Button T=new Button("T"); Button U=new Button("U"); Button V=new Button("V"); Button W=new Button("W"); Button X=new Button("X"); Button Y=new Button("Y"); Button Z=new Button("Z"); public void init(){ setLayout(null); add(A);add(B);add(C);add(D);add(E);add(F);add(G);add(H);add(I);add(J);add(K);add(L);add(M);add(N); add(O);add(P);add(Q);add(R);add(S);add(T);add(U);add(V);add(W);add(X);add(Y);add(Z); add(txt); addMouseListener(this); addMouseMotionListener(this); // setBackground(Color.red); repaint(); } public void mousePressed(MouseEvent e){ x = e.getX() - 10; y = e.getY() - 10; tracer = " x = " + x + " y = " + y; // repaint the applet mousepressed=1; repaint(); } // dont use these so leave them empty public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseReleased(MouseEvent e){} // for mouse motion listener public void mouseMoved(MouseEvent e) { // x = e.getX() - 10; // y = e.getY() - 10; // tracer = " x = " + x + " y = " + y; // repaint the applet // mousex=x; // mousey=y; // repaint(); } public void mouseDragged(MouseEvent e) { } // paint method public void paint(Graphics g){ // this the movement of part g.setColor(Color.red); x=xcen-radiusmov; y=ycen; g.drawLine(xcen,ycen,x,y); x=xcen-(radiusmov/2); y=ycen-( (int) (Math.sqrt(r2mov - ((xcen-x)*(xcen-x))))); g.drawLine(xcen,ycen,x,y); x=xcen+(radiusmov/2); y=ycen-( (int) (Math.sqrt(r2mov - ((xcen-x)*(xcen-x))))); g.drawLine(xcen,ycen,x,y); x=xcen+radiusmov; y=ycen; g.drawLine(xcen,ycen,x,y); g.setColor(Color.black); if(x11>(xcen-radiusmov/2)) x11=xcen-radiusmov; else x11++; if((x11*x11)!=r2) y11 =ycen-( (int) (Math.sqrt(r2mov - ((xcen-x11)*(xcen-x11))))); if(x12>(xcen+radiusmov/2)) x12=xcen-(radiusmov/2); else x12++; if((x12*x12)!=r2) y12 =ycen-( (int) (Math.sqrt(r2mov - ((xcen-x12)*(xcen-x12))))); if(x13>xcen+radiusmov) x13=xcen+(radiusmov/2); else x13++; if((x13*x13)!=r2) y13 =ycen-( (int) (Math.sqrt(r2mov - ((xcen-x13)*(xcen-x13))))); drawquadlines(g,xcen,ycen,radiusmov); g.setColor(Color.black); g.drawLine (xcen,ycen,x11,y11); g.drawLine (xcen,ycen,x12,y12); g.drawLine (xcen,ycen,x13,y13); // this is for the movement instead of line, we are drawing a small polygon int xpoint[]=new int[4]; int ypoint[]=new int[4]; xpoint[0]=xcenter; ypoint[0]=ycenter; xpoint[1]=x11; ypoint[1]=y11; xpoint[2]=x11+5; ypoint[2]=y11; g.fillPolygon(xpoint,ypoint,3); xpoint[0]=xcenter; ypoint[0]=ycenter; xpoint[1]=x12; ypoint[1]=y12; xpoint[2]=x12+5; ypoint[2]=y12; g.fillPolygon(xpoint,ypoint,3); xpoint[0]=xcenter; ypoint[0]=ycenter; xpoint[1]=x13; ypoint[1]=y13; xpoint[2]=x13+5; ypoint[2]=y13; g.fillPolygon(xpoint,ypoint,3); // this is end of movement using polygon try { Thread.sleep(50); } catch(Exception e) { System.out.println("exception"+e); } // end of the movement part if(firsttime==1) { draw(g,400,400,200); firsttime=2; //disabling the draw again and again } if(mousepressed==1) { draw(g,400,400,200); identifythecharacter1test(g,xcenter,ycenter,mousex,mousey,radius); g.drawString(text,500,500); mousepressed=0; txt.setText(text); } repaint(); } // end of paint void drawquadlines(Graphics g,int xcenter,int ycenter,int radius) { int x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8; g.setColor(Color.yellow); drawCircle(g,xcenter,ycenter,radius); g.setColor(Color.blue); int x134,y134,x234,y234; g.setFont(new Font("Serif", Font.ITALIC, 20)); x134= xcenter-(3*radius/4)-(radius/6); x1= xcenter - (3*radius/4); x2= xcenter - (radius/2); x3= xcenter - (radius/4); x4= xcenter; x5= xcenter + (radius/4); x6= xcenter + (radius/2); x7= xcenter + (3*radius/4); x234= xcenter+(3*radius/4)+(radius/6); x8= xcenter+ radius; y1=calculatey(xcenter,ycenter,x1,radius); y2=calculatey(xcenter,ycenter,x2,radius); y3=calculatey(xcenter,ycenter,x3,radius); y5=calculatey(xcenter,ycenter,x5,radius); y6=calculatey(xcenter,ycenter,x6,radius); y7=calculatey(xcenter,ycenter,x7,radius); y134=calculatey(xcenter,ycenter,x134,radius); y234=calculatey(xcenter,ycenter,x234,radius); g.drawLine(xcenter,ycenter,x1,y1); g.drawLine(xcenter,ycenter,x2,y2); g.drawLine(xcenter,ycenter,x134,y134); g.drawLine(xcenter,ycenter,x3,y3); g.drawLine(xcenter,ycenter,x4,ycenter-radius); g.drawLine(xcenter,ycenter,x5,y5); g.drawLine(xcenter,ycenter,x6,y6); g.drawLine(xcenter,ycenter,x7,y7); g.drawLine(xcenter,ycenter,x234,y234); g.drawLine(xcenter,ycenter,x8,ycenter); int xpoint[]=new int[4]; int ypoint[]=new int[4]; int npoints; g.setColor(Color.pink); xpoint[0]=xcenter; ypoint[0]=ycenter; xpoint[1]=xcenter-radius; ypoint[1]=ycenter; xpoint[2]=x134; ypoint[2]=y134; g.fillPolygon(xpoint,ypoint,3); g.setColor(Color.pink); xpoint[0]=xcenter; ypoint[0]=ycenter; xpoint[1]=x1; ypoint[1]=y1; xpoint[2]=x134; ypoint[2]=y134; g.fillPolygon(xpoint,ypoint,3); g.setColor(Color.pink); xpoint[0]=xcenter; ypoint[0]=ycenter; xpoint[1]=x1; ypoint[1]=y1; xpoint[2]=x2; ypoint[2]=y2; g.fillPolygon(xpoint,ypoint,3); g.setColor(Color.white); xpoint[0]=xcenter; ypoint[0]=ycenter; xpoint[1]=x3; ypoint[1]=y3; xpoint[2]=x2; ypoint[2]=y2; g.fillPolygon(xpoint,ypoint,3); g.setColor(Color.white); xpoint[0]=xcenter; ypoint[0]=ycenter; xpoint[1]=x3; ypoint[1]=y3; xpoint[2]=x4; ypoint[2]=ycenter-radius; g.fillPolygon(xpoint,ypoint,3); g.setColor(Color.white); xpoint[0]=xcenter; ypoint[0]=ycenter; xpoint[1]=x4; ypoint[1]=ycenter-radius; xpoint[2]=x5; ypoint[2]=y5; g.fillPolygon(xpoint,ypoint,3); g.setColor(Color.white); xpoint[0]=xcenter; ypoint[0]=ycenter; xpoint[1]=x5; ypoint[1]=y5; xpoint[2]=x6; ypoint[2]=y6; g.fillPolygon(xpoint,ypoint,3); g.setColor(Color.green); xpoint[0]=xcenter; ypoint[0]=ycenter; xpoint[1]=x6; ypoint[1]=y6; xpoint[2]=x7; ypoint[2]=y7; g.fillPolygon(xpoint,ypoint,3); g.setColor(Color.green); xpoint[0]=xcenter; ypoint[0]=ycenter; xpoint[1]=x7; ypoint[1]=y7; xpoint[2]=x234; ypoint[2]=y234; g.fillPolygon(xpoint,ypoint,3); g.setColor(Color.green); xpoint[0]=xcenter; ypoint[0]=ycenter; xpoint[1]=xcenter+radius; ypoint[1]=ycenter; xpoint[2]=x234; ypoint[2]=y234; g.fillPolygon(xpoint,ypoint,3); g.setColor(Color.red); g.drawLine(xcenter,ycenter,x1,y1); g.drawLine(xcenter,ycenter,x2,y2); g.drawLine(xcenter,ycenter,x134,y134); g.drawLine(xcenter,ycenter,x3,y3); g.drawLine(xcenter,ycenter,x4,ycenter-radius); g.drawLine(xcenter,ycenter,x5,y5); g.drawLine(xcenter,ycenter,x6,y6); g.drawLine(xcenter,ycenter,x7,y7); g.drawLine(xcenter,ycenter,x234,y234); g.drawLine(xcenter,ycenter,x8,ycenter); } // end of only drawing lines and circle void draw(Graphics g,int xcenter,int ycenter,int radius) { int x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8; g.setColor(Color.yellow); drawCircle(g,xcenter,ycenter,radius); g.setColor(Color.blue); int x134,y134,x234,y234; g.setFont(new Font("Serif", Font.ITALIC, 20)); x134= xcenter-(3*radius/4)-(radius/6); x1= xcenter - (3*radius/4); x2= xcenter - (radius/2); x3= xcenter - (radius/4); x4= xcenter; x5= xcenter + (radius/4); x6= xcenter + (radius/2); x7= xcenter + (3*radius/4); x234= xcenter+(3*radius/4)+(radius/6); x8= xcenter+ radius; y1=calculatey(xcenter,ycenter,x1,radius); y2=calculatey(xcenter,ycenter,x2,radius); y3=calculatey(xcenter,ycenter,x3,radius); y5=calculatey(xcenter,ycenter,x5,radius); y6=calculatey(xcenter,ycenter,x6,radius); y7=calculatey(xcenter,ycenter,x7,radius); y134=calculatey(xcenter,ycenter,x134,radius); y234=calculatey(xcenter,ycenter,x234,radius); g.drawLine(xcenter,ycenter,x1,y1); g.drawLine(xcenter,ycenter,x2,y2); g.drawLine(xcenter,ycenter,x134,y134); g.drawLine(xcenter,ycenter,x3,y3); g.drawLine(xcenter,ycenter,x4,ycenter-radius); g.drawLine(xcenter,ycenter,x5,y5); g.drawLine(xcenter,ycenter,x6,y6); g.drawLine(xcenter,ycenter,x7,y7); g.drawLine(xcenter,ycenter,x234,y234); g.drawLine(xcenter,ycenter,x8,ycenter); // first from left outtextxy(g,xcenter-radius+5,ycenter-10,"A"); A.setBounds(new Rectangle(xcenter-radius+5,ycenter-20,20,20)); outtextxy(g,xcenter-radius+7,ycenter-30,"B"); B.setBounds(new Rectangle(xcenter-radius+7,ycenter-40,20,20)); outtextxy(g,x134+5,y134+10,"C"); C.setBounds(new Rectangle(x134,y134+15,20,20)); // first from right outtextxy(g,xcenter+radius-10,ycenter-15,"Z"); Z.setBounds(new Rectangle(xcenter+radius-25,ycenter-25,20,20)); outtextxy(g,xcenter+radius-10,ycenter-30,"Y"); Y.setBounds(new Rectangle(xcenter+radius-25,ycenter-45,20,20)); outtextxy(g,x234-5,y234+10,"X"); X.setBounds(new Rectangle(x234-15,y234+15,20,20)); // second quadrant from left outtextxy(g,x134+5,y134-10,"D"); D.setBounds(new Rectangle(x134+5,y134-15,20,20)); outtextxy(g,x134+13,y134-20,"E"); E.setBounds(new Rectangle(x134+25,y134-27,20,20)); outtextxy(g,x1-5,y1+10,"F"); F.setBounds(new Rectangle(x1-5,y1+5,20,20)); // second quadrant from right outtextxy(g,x234-11,y234-10,"W"); W.setBounds(new Rectangle(x234-25,y234-15,20,20)); outtextxy(g,x234-18,y234-20,"V"); V.setBounds(new Rectangle(x234-48,y234-20,20,20)); outtextxy(g,x7-5,y7+10,"U"); U.setBounds(new Rectangle(x7-5,y7+10,20,20)); // this is the 3 quadrant from left outtextxy(g,x1+13,y1-10,"G"); G.setBounds(new Rectangle(x1+13,y1-10,20,20)); outtextxy(g,x1+23,y1-20,"H"); H.setBounds(new Rectangle(x1+33,y1-13,20,20)); outtextxy(g,x2-5,y2+10,"I"); I.setBounds(new Rectangle(x2-10,y2+10,20,20)); // this is the 3 quadrant from right outtextxy(g,x7-18,y7-10,"T"); T.setBounds(new Rectangle(x7-23,y7-10,20,20)); outtextxy(g,x7-28,y7-20,"S"); S.setBounds(new Rectangle(x7-43,y7-10,20,20)); outtextxy(g,x6,y6+10,"R"); R.setBounds(new Rectangle(x6,y6+10,20,20)); // this is the 4 quadrant from left outtextxy(g,x2+8,y2-2,"J"); J.setBounds(new Rectangle(x2+13,y2-2,20,20)); outtextxy(g,x3-8,y3+7,"K"); K.setBounds(new Rectangle(x3-18,y3+7,20,20)); // this is the 4 quadrant from right outtextxy(g,x6-18,y6,"Q"); Q.setBounds(new Rectangle(x6-28,y6,20,20)); outtextxy(g,x5,y5+10,"P"); P.setBounds(new Rectangle(x5,y5+10,20,20)); // this is the 5 quadrant from left outtextxy(g,x3+8,y3,"L"); L.setBounds(new Rectangle(x3+8,y3,20,20)); outtextxy(g,xcenter-12,ycenter-radius+4,"M"); M.setBounds(new Rectangle(xcenter-22,ycenter-radius+4,20,20)); // this is the 5 quadrant from right outtextxy(g,x5-18,y5,"O"); O.setBounds(new Rectangle(x5-23,y5,20,20)); outtextxy(g,xcenter+4,ycenter-radius+3,"N"); N.setBounds(new Rectangle(xcenter+4,ycenter-radius+3,20,20)); } void identifythecharacter(Graphics g,int xcenter,int ycenter,int x,int y,int radius) { int x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8; drawCircle(g,xcenter,ycenter,radius); int x134,y134,x234,y234; x134= xcenter-(3*radius/4)-(radius/6); x1= xcenter - (3*radius/4); x2= xcenter - (radius/2); x3= xcenter - (radius/4); x4= xcenter; x5= xcenter + (radius/4); x6= xcenter + (radius/2); x7= xcenter + (3*radius/4); x234= xcenter+(3*radius/4)+(radius/6); x8= xcenter+ radius; y1=calculatey(xcenter,ycenter,x1,radius); y2=calculatey(xcenter,ycenter,x2,radius); y3=calculatey(xcenter,ycenter,x3,radius); y5=calculatey(xcenter,ycenter,x5,radius); y6=calculatey(xcenter,ycenter,x6,radius); y7=calculatey(xcenter,ycenter,x7,radius); y134=calculatey(xcenter,ycenter,x134,radius); y234=calculatey(xcenter,ycenter,x234,radius); // first from left if(x>(xcenter-radius+5)-5 && x<(xcenter-radius+5)+3) { outtextxy(g,xcenter-radius+5,ycenter-10,"A"); text=text+"A"; } if(x>(xcenter-radius+7)-5 && x<(xcenter-radius+7)+3) { outtextxy(g,xcenter-radius+7,ycenter-30,"B"); text=text+"B"; } if(x>(x134+5)-5 && x<(x134+5)+3) { outtextxy(g,x134+5,y134+10,"C"); text=text+"C"; } // first from right if(x>(xcenter+radius-7)-5 && x<(xcenter+radius-7)+3) { outtextxy(g,xcenter+radius-7,ycenter-10,"Z"); text=text+"Z"; } if(x>(xcenter+radius-10)-5 && x<(xcenter+radius-10)+3) { outtextxy(g,xcenter+radius-10,ycenter-30,"Y"); text=text+"Y"; } if(x>(x234-5)-5 && x<(x234-5)+3) { outtextxy(g,x234-5,y234+10,"X"); text=text+"X"; } // second quadrant from left if(x>(x134+5)-5 && x<(x134+5)+3) { outtextxy(g,x134+5,y134-10,"D"); text=text+"D"; } if(x>(x134+13)-5 && x<(x134+13)+3) { outtextxy(g,x134+13,y134-20,"E"); text=text+"E"; } if(x>(x1-5)-5 && x<(x1-5)+3) { outtextxy(g,x1-5,y1+10,"F"); text=text+"F"; } // second quadrant from right if(x>(x234-11)-5 && x<(x234-11)+3) { outtextxy(g,x234-11,y234-10,"W"); text=text+"W"; } if(x>(x234-18)-5 && x<(x234-18)+3) { outtextxy(g,x234-18,y234-20,"V"); text=text+"V"; } if(x>(x7-5)-5 && x<(x7-5)+3) { outtextxy(g,x7-5,y7+10,"U"); text=text+"U"; } // this is the 3 quadrant from left if(x>(x1+13)-5 && x<(x1+13)+3) { outtextxy(g,x1+13,y1-10,"G"); text=text+"G"; } if(x>(x1+23)-5 && x<(x1+23)+3) { outtextxy(g,x1+23,y1-20,"H"); text=text+"H"; } if(x>(x2-5)-5 && x<(x2-5)+3) { outtextxy(g,x2-5,y2+10,"I"); text=text+"I"; } // this is the 3 quadrant from right if(x>(x7-18)-5 && x<(x7-18)+3) { outtextxy(g,x7-18,y7-10,"T"); text=text+"T"; } if(x>(x7-28)-5 && x<(x7-28)+3) { outtextxy(g,x7-28,y7-20,"S"); text=text+"S"; } if(x>(x6)-5 && x<(x6)+3) { outtextxy(g,x6,y6+10,"R"); text=text+"R"; } // this is the 4 quadrant from left if(x>(x2+8)-5 && x<(x2+8)+3) { outtextxy(g,x2+8,y2-2,"J"); text=text+"J"; } if(x>(x2+8)-5 && x<(x2+8)+3) { outtextxy(g,x3-8,y3+7,"K"); text=text+"K"; } // this is the 4 quadrant from right if(x>(x6-18)-5 && x<(x6-18)+3) { outtextxy(g,x6-18,y6,"Q"); text=text+"Q"; } if(x>(x5)-5 && x<(x5)+3) { outtextxy(g,x5,y5+10,"P"); text=text+"P"; } // this is the 5 quadrant from left if(x>(x3+8)-5 && x<(x3+8)+3) { outtextxy(g,x3+8,y3,"L"); text=text+"L"; } if(x>(xcenter-12)-5 && x<(xcenter-12)+3) { outtextxy(g,xcenter-12,ycenter-radius+4,"M"); text=text+"M"; } // this is the 5 quadrant from right if(x>(x5-18)-5 && x<(x5-18)+3) { outtextxy(g,x5-18,y5,"O"); text=text+"O"; } if(x>(xcenter+4)-5 && x<(xcenter+4)+3) { outtextxy(g,xcenter+4,ycenter-radius+3,"N"); text=text+"N"; } } // end of identify the character. void identifythecharacter1test(Graphics g,int xcenter,int ycenter,int x,int y,int radius) { int x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8; drawCircle(g,xcenter,ycenter,radius); int x134,y134,x234,y234; x134= xcenter-(3*radius/4)-(radius/6); x1= xcenter - (3*radius/4); x2= xcenter - (radius/2); x3= xcenter - (radius/4); x4= xcenter; x5= xcenter + (radius/4); x6= xcenter + (radius/2); x7= xcenter + (3*radius/4); x234= xcenter+(3*radius/4)+(radius/6); x8= xcenter+ radius; y1=calculatey(xcenter,ycenter,x1,radius); y2=calculatey(xcenter,ycenter,x2,radius); y3=calculatey(xcenter,ycenter,x3,radius); y5=calculatey(xcenter,ycenter,x5,radius); y6=calculatey(xcenter,ycenter,x6,radius); y7=calculatey(xcenter,ycenter,x7,radius); y134=calculatey(xcenter,ycenter,x134,radius); y234=calculatey(xcenter,ycenter,x234,radius); // first from left if(x>(xcenter-radius+5)-5 && x<(xcenter-radius+5)+5) { outtextxy(g,xcenter-radius+5,ycenter-10,"A"); text=text+"A"; } if(x>(xcenter-radius+7)-5 && x<(xcenter-radius+7)+5) { outtextxy(g,xcenter-radius+7,ycenter-30,"B"); text=text+"B"; } if(x>(x134+5)-5 && x<(x134+5)+5) { outtextxy(g,x134+5,y134+10,"C"); text=text+"C"; } // first from right if(x>(xcenter+radius-7)-5 && x<(xcenter+radius-7)+5) { outtextxy(g,xcenter+radius-7,ycenter-10,"Z"); text=text+"Z"; } if(x>(xcenter+radius-10)-5 && x<(xcenter+radius-10)+5) { outtextxy(g,xcenter+radius-10,ycenter-30,"Y"); text=text+"Y"; } if(x>(x234-5)-5 && x<(x234-5)+5) { outtextxy(g,x234-5,y234+10,"X"); text=text+"X"; } // second quadrant from left if(x>(x134+5)-5 && x<(x134+5)+5) { outtextxy(g,x134+5,y134-10,"D"); text=text+"D"; } if(x>(x134+13)-5 && x<(x134+13)+5) { outtextxy(g,x134+13,y134-20,"E"); text=text+"E"; } if(x>(x1-5)-5 && x<(x1-5)+5) { outtextxy(g,x1-5,y1+10,"F"); text=text+"F"; } // second quadrant from right if(x>(x234-11)-5 && x<(x234-11)+5) { outtextxy(g,x234-11,y234-10,"W"); text=text+"W"; } if(x>(x234-18)-5 && x<(x234-18)+5) { outtextxy(g,x234-18,y234-20,"V"); text=text+"V"; } if(x>(x7-5)-5 && x<(x7-5)+5) { outtextxy(g,x7-5,y7+10,"U"); text=text+"U"; } // this is the 3 quadrant from left if(x>(x1+13)-5 && x<(x1+13)+5) { outtextxy(g,x1+13,y1-10,"G"); text=text+"G"; } if(x>(x1+23)-5 && x<(x1+23)+5) { outtextxy(g,x1+23,y1-20,"H"); text=text+"H"; } if(x>(x2-5)-5 && x<(x2-5)+5) { outtextxy(g,x2-5,y2+10,"I"); text=text+"I"; } // this is the 3 quadrant from right if(x>(x7-18)-5 && x<(x7-18)+5) { outtextxy(g,x7-18,y7-10,"T"); text=text+"T"; } if(x>(x7-28)-5 && x<(x7-28)+5) { outtextxy(g,x7-28,y7-20,"S"); text=text+"S"; } if(x>(x6)-5 && x<(x6)+5) { outtextxy(g,x6,y6+10,"R"); text=text+"R"; } // this is the 4 quadrant from left if(x>(x2+8)-5 && x<(x2+8)+5) { outtextxy(g,x2+8,y2-2,"J"); text=text+"J"; } if(x>(x2+8)-5 && x<(x2+8)+5) { outtextxy(g,x3-8,y3+7,"K"); text=text+"K"; } // this is the 4 quadrant from right if(x>(x6-18)-5 && x<(x6-18)+5) { outtextxy(g,x6-18,y6,"Q"); text=text+"Q"; } if(x>(x5)-5 && x<(x5)+5) { outtextxy(g,x5,y5+10,"P"); text=text+"P"; } // this is the 5 quadrant from left if(x>(x3+8)-5 && x<(x3+8)+5) { outtextxy(g,x3+8,y3,"L"); text=text+"L"; } if(x>(xcenter-12)-5 && x<(xcenter-12)+5) { outtextxy(g,xcenter-12,ycenter-radius+4,"M"); text=text+"M"; } // this is the 5 quadrant from right if(x>(x5-18)-5 && x<(x5-18)+5) { outtextxy(g,x5-18,y5,"O"); text=text+"O"; } if(x>(xcenter+4)-5 && x<(xcenter+4)+5) { outtextxy(g,xcenter+4,ycenter-radius+3,"N"); text=text+"N"; } } void outtextxy(Graphics g,int x,int y,String ch) { g.drawString(ch,x,y); } void drawCircle(Graphics g, int x, int y, int r) { // Draw a circle on g centered at x, y and radius, r g.drawOval(x-r, y-r, 2*r, 2*r); } // drawCircle int calculatey(int xcenter,int ycenter,int x,int r) { int r2=r*r; int y =ycenter-( (int) (Math.sqrt(r2 - ((xcenter-x)*(xcenter-x))))); return(y); } }