import java.applet.Applet; import java.awt.*; public class rj2 extends Applet{ Image pilt, sahver; Graphics piltg, sahverg; int koht=0, aste=0; int arv=36, reanr=1, juur=1, vahe, vahearv ; FontMetrics fm; Button oknupp=new Button(" * * OK * * "); TextField tf=new TextField(5), tf2=new TextField(5); Panel p=new Panel(), p2=new Panel(), p3=new Panel(), p4=new Panel(); Panel pa=new Panel(), lp= new Panel(); Label lb=new Label("Enter number:"); public void init(){ this.setBackground(Color.white); vahearv=arv; pilt=createImage(300, 400); piltg=pilt.getGraphics(); sahver=createImage(300, 400); sahverg=sahver.getGraphics(); fm=getFontMetrics(getFont()); p.setLayout(new BorderLayout()); pa.setLayout(new BorderLayout()); pa.add("West", tf2); pa.add("East", oknupp); lp.add(lb); p.add("North", lb); p.add("South", pa); p4.add(p); setLayout(new BorderLayout()); add("South", p); p2.setLayout(new BorderLayout()); p2.add("North", tf); p3.add(p2); add("East", p3); tf2.setText("9"); tf2.requestFocus(); tf2.selectAll(); tf2.setEditable(true); } void algvaartustus(){ tf2.setText("25"); tf2.selectAll(); reanr=1; tf2.setEditable(true); juur=1; tf2.requestFocus(); lb.setText("Enter number:"); } void joonista2(){ int lahutus=2*juur-1; if(vahearv-lahutus>0){ tf.setText(Integer.toString(juur)); piltg.drawString(Integer.toString(vahearv), 50-fm.stringWidth(Integer.toString(vahearv)), reanr++*10); piltg.drawString(Integer.toString(lahutus), 50-fm.stringWidth(Integer.toString(lahutus)), reanr++*10); piltg.drawLine(20, reanr*10-8, 50, reanr*10-8); vahearv-=lahutus; reanr++; juur++; } else if(vahearv-lahutus==0){ piltg.drawString(Integer.toString(vahearv), 50-fm.stringWidth(Integer.toString(vahearv)), reanr++*10); piltg.drawString(Integer.toString(lahutus), 50-fm.stringWidth(Integer.toString(lahutus)), reanr++*10); piltg.drawLine(20, reanr*10-5, 50, reanr++*10-5); piltg.setColor(Color.red); piltg.drawString(Integer.toString(0), 50-fm.stringWidth(Integer.toString(0)), reanr++*10); piltg.setColor(Color.black); piltg.drawString("Square root of "+arv+"="+juur, 20, reanr++*10); oknupp.setLabel("Complete"); algvaartustus(); } else if(vahearv-lahutus<0){ piltg.drawString(Integer.toString(vahearv), 50-fm.stringWidth(Integer.toString(vahearv)), reanr++*10); piltg.drawString(Integer.toString(lahutus), 50-fm.stringWidth(Integer.toString(lahutus)), reanr*10); piltg.setColor(Color.red); piltg.drawString(Integer.toString(vahearv)+"-"+Integer.toString(lahutus)+"<0", 60, reanr++*10); piltg.setColor(Color.black); piltg.drawLine(20, reanr*10-8, 50, reanr++*10-8); piltg.drawString("Integer part of square root of "+arv+"="+(juur-1), 20, reanr++*10); oknupp.setLabel("Finished"); algvaartustus(); } if (reanr>30){sahverg.drawImage(pilt, 0, 0, null); piltg.setColor(Color.white); piltg.fillRect(0, 0, 200, 400); piltg.setColor(Color.black); piltg.drawImage(sahver, 0, -30, null); reanr-=3; } repaint(); } public void paint(Graphics g){ g.drawImage(pilt, 0, 0, this); } public boolean action(Event e, Object arg){ if(e.target.equals(oknupp)){ if(reanr==1){arv=vahearv=Integer.parseInt(tf2.getText()); tf2.setEditable(false);oknupp.setLabel("Push"); lb.setText("Number:"); piltg.setColor(Color.white); piltg.fillRect(0, 0, 300, 400); piltg.setColor(Color.black); } joonista2(); } return super.action(e, arg); } }