import java.awt.event.*; import java.awt.*; import java.awt.Color.*; import java.io.*; import java.util.*; public class diagramm extends Panel implements ActionListener { Choice valik=new Choice(); Button joonista=new Button("Joonista"); public diagramm() { setLayout(new BorderLayout()); Panel ylemine=new Panel(new BorderLayout()); ylemine.add(valik, BorderLayout.EAST); ylemine.add(joonista, BorderLayout.WEST); valik.add("1"); valik.add("2"); valik.add("3"); valik.add("4"); valik.add("5"); add(ylemine, BorderLayout.NORTH); joonista.addActionListener(this); } public void actionPerformed(ActionEvent e) { try{LooFail("andmed.txt", Integer.parseInt(valik.getSelectedItem()));} catch(IOException es){System.out.println("kamm");}; try{Joonista(LoeFail("andmed.txt"));} catch(IOException est){System.out.println("suurem kamm");}; } private void Joonista(data andmed) { Graphics g=getGraphics(); g.setColor(Color.white); g.fillRect(0,0,800,600); int mitu=Integer.parseInt(valik.getSelectedItem()); int suurim=0; int[] mass={1,2,3,4,5,6}; mass[1]=andmed.I; mass[2]=andmed.II; mass[3]=andmed.III; mass[4]=andmed.IV; mass[5]=andmed.V; for(int i=1; i<=mitu; i++) { if(mass[i]>suurim){suurim=mass[i];} } float koef=640/(float)suurim; System.out.println("Koefitsent:"+koef); int laius=(int)400/mitu; int vahe=(int)(50/mitu); for(int i=1; i<=mitu; i++) { g.setColor(Color.blue); g.fillRect(0,30+(i-1)*laius+i*vahe,(int)(koef*mass[i]),laius); g.setColor(Color.red); g.drawString("=-"+mass[i]+"-= moodustab: "+(float)mass[i]/suurim*100+"%",5,(30+(i-1)*laius+i*vahe)+laius/2); g.drawString("*"+i+"*",(int)(koef*mass[i]+10),(30+(i-1)*laius+i*vahe)+laius/2); } g.setColor(Color.black); for(int j=1; j<=10; j++) { g.drawLine(j*64,33,j*64,478); g.drawString(j*10+"%",j*64-10,33); } } private void LooFail(String failname, int count) throws IOException { PrintWriter out=new PrintWriter(new FileWriter(failname)); for(int i=0; i<1000; i++) { out.println((int)(Math.random()*count+1)); } out.close(); System.out.println("Fail valmis"); } private data LoeFail(String failname) throws FileNotFoundException, IOException { BufferedReader in=new BufferedReader(new FileReader(failname)); data andmed=new data(); int rida=Integer.parseInt(in.readLine()); while(rida!=0) { if(rida==1){++andmed.I;} if(rida==2){++andmed.II;} if(rida==3){++andmed.III;} if(rida==4){++andmed.IV;} if(rida==5){++andmed.V;} String aju=in.readLine(); if(aju!=null){rida=Integer.parseInt(aju);} else{rida=0;} } in.close(); return andmed; } public static void main(String[] arg) { Frame f=new Frame("Diagrammi generaator"); f.add(new diagramm()); f.setSize(700,520); f.setResizable(false); f.setVisible(true); f.addWindowListener(new Raamikuular()); } } class data { public int V; public int I; public int II; public int III; public int IV; public data() { V=I=II=III=IV=0; } }