import java.applet.Applet; import java.awt.*; //tekstiväljad, nupp import java.awt.event.*; //nupuvajutus public class Pudel3 extends Applet implements ActionListener{ TextField tfKogus=new TextField("1000", 8); TextField tfMaht=new TextField("1200", 8); Button nupp=new Button("Joonista"); public Pudel3(){ add(new Label("Vee hulk")); add(tfKogus); add(new Label("Pudeli maht")); add(tfMaht); add(nupp); nupp.addActionListener(this); } public void paint(Graphics g){ int algX=75; //Pudeli kaugus vasakust servast int grX=250; //Graafiku vasaku serva kaugus raami vasakust servast int grX2=450; //Graafiku parema serva kaugus int algY=300; //Ekraanipunktides int koef=10; //mitu ekraanipunkti ühe sentimeetri kohta int kogus=Integer.parseInt(tfKogus.getText()); int maht=Integer.parseInt(tfMaht.getText()); double pudeliKoef=4.0/25; double raadius=Math.pow(maht*pudeliKoef/3.14, 1.0/3); int pudeliKorgus=(int)(raadius/pudeliKoef); //cm int pudeliLaius=(int)(raadius*2); double pohjaPindala=3.14*raadius*raadius; int veeKorgus=(int)(kogus/pohjaPindala); g.setColor(Color.blue); g.fillRect(algX, algY-veeKorgus*koef, pudeliLaius*koef, veeKorgus*koef); g.setColor(Color.black); g.drawLine(algX, algY-pudeliKorgus*koef, algX, algY); g.drawLine(algX+pudeliLaius*koef, algY-pudeliKorgus*koef, algX+pudeliLaius*koef, algY); g.drawLine(algX, algY, algX+pudeliLaius*koef, algY); //graafiku joonistamine g.drawString("0", grX, algY); g.drawString(maht+" cm3", grX2, algY); g.drawString(maht/2+"", (grX+grX2)/2, algY); g.drawString(pudeliKorgus+" cm", grX, algY-pudeliKorgus*koef); g.drawString(pudeliKorgus/2+"", grX, algY-(pudeliKorgus/2)*koef); //Graafikule joonistamine double veeSuhtArv=kogus/(double)maht; //kui palju pudelist on täidetud int graafikuLaius=grX2-grX; int mummuX=(int)(grX+veeSuhtArv*graafikuLaius); int mummuY=algY-veeKorgus*koef; int mummuRaadius=5; g.drawOval(mummuX-mummuRaadius, mummuY-mummuRaadius, 2*mummuRaadius, 2*mummuRaadius); } public void actionPerformed(ActionEvent e){ repaint(); //uuenda joonis } public static void main(String[] argumendid){ Frame f=new Frame("Pudeli joonis"); f.add(new Pudel3()); f.setSize(500, 350); f.setVisible(true); } }