/** * @(#)Katetuottov2.java * * Katetuottov2 Applet application * HTML TIEDOSTON KOOT: width 1000, height 650! * @author Teemu Alatalo * @version 1.00 2009/10/25 */ import java.awt.*; import java.applet.*; import java.awt.event.*; class Laskut { private int hintakpl; private int sumyynti; private int mukut; private int kikut; private double u; private double i; private double prosentti; private double kr; public void sethintakpl(int hintakpl) { this.hintakpl=hintakpl; } public void setsumyynti(int sumyynti) { this.sumyynti=sumyynti; } public void setmukut(int mukut) { this.mukut=mukut; } public void setkikut(int kikut) { this.kikut=kikut; } public int MyyntituototL() { return hintakpl*sumyynti; } public int MukutL() { return sumyynti*mukut; } public int KatetuottoL() { return (hintakpl*sumyynti)-(sumyynti*mukut); } public int KikutL() { return kikut; } public int Tulos() { return ((hintakpl*sumyynti)-(sumyynti*mukut))-kikut; } public double KatetuottoPL() { u=Double.valueOf(hintakpl); i=Double.valueOf(mukut); return (u-i)/u*100; } public double KriittinenmyyntiL() { u=Double.valueOf(hintakpl); i=Double.valueOf(mukut); prosentti=(u-i)/u; return kikut/prosentti; } public double KriittinenmyyntiKL() { u=Double.valueOf(hintakpl); i=Double.valueOf(mukut); prosentti=(u-i)/u; kr=kikut/prosentti; return kr/hintakpl; } public double getSumyynti6() { return sumyynti; } public double getSumyynti5() { return sumyynti*0.80; } public double getSumyynti4() { return sumyynti*0.60; } public double getSumyynti3() { return sumyynti*0.40; } public double getSumyynti2() { return sumyynti*0.20; } public double getMyynti() { return sumyynti*hintakpl; } public double getMyynti1() { return sumyynti*hintakpl*1.2; } public double getMyynti2() { return sumyynti*hintakpl*0.8; } public double getMyynti3() { return sumyynti*hintakpl*0.6; } public double getMyynti4() { return sumyynti*hintakpl*0.4; } public double getMyynti5() { return sumyynti*hintakpl*0.2; } } public class Katetuottov2 extends Applet implements ActionListener{ TextField hinta = new TextField(); TextField mukut = new TextField(); TextField sumyynti = new TextField(); TextField kikut = new TextField(); Label lhinta = new Label("Hinta/Kpl"); Label lmukut = new Label("MuKut/kpl"); Label lsumyynti = new Label("Suurin myynti"); Label lkikut = new Label("Kikut"); Button painike = new Button("Syötä tiedot"); Button testi = new Button("Laske"); Label myyntituotot = new Label(""); Label mukuta = new Label(""); Label katetuotto = new Label(""); Label kikuta = new Label(""); Label tulos = new Label(""); Label katetuottopros = new Label(""); Label kriittinenmyynti = new Label(""); Label kriittinenmyyntikpl = new Label(""); // Taulukon sivunumerot Label taulukonSMargiisi1 = new Label(""); Label taulukonSMargiisi2 = new Label(""); Label taulukonSMargiisi3 = new Label(""); Label taulukonSMargiisi4 = new Label(""); Label taulukonSMargiisi5 = new Label(""); Label taulukonSMargiisi6 = new Label(""); Label taulukonSMargiisi7 = new Label("0"); // Taulukon alanumerot Label taulukonPMargiisi1 = new Label("0"); Label taulukonPMargiisi2 = new Label(""); Label taulukonPMargiisi3 = new Label(""); Label taulukonPMargiisi4 = new Label(""); Label taulukonPMargiisi5 = new Label(""); Label taulukonPMargiisi6 = new Label(""); // Taulukon selitteet Label vihrea = new Label("Kustannukset"); Label punanen = new Label("Kiinteät kustannukset"); Label sininen = new Label("Myyntituotot"); int p, l, k, o, x, m, n, b, xd, v, xy; int x1,y1,x2,y2; // VIIVANKORDINAATIT double u; Laskut Myyntituotot = new Laskut(); Laskut Mukut = new Laskut(); Laskut Katetuotto = new Laskut(); Laskut Kikut = new Laskut(); Laskut Tulos = new Laskut(); Laskut Katetuottopros = new Laskut(); Laskut Kriittinenmyynti = new Laskut(); Laskut KriittinenmyyntiKpl = new Laskut(); Laskut Taulukko = new Laskut(); public void init() { add (vihrea); add (punanen); add (sininen); add (hinta); add (mukut); add (sumyynti); add (kikut); add (lhinta); add (lmukut); add (lsumyynti); add (lkikut); add (painike); painike.addActionListener(this); testi.addActionListener(this); add (testi); add (myyntituotot); add (mukuta); add (katetuotto); add (kikuta); add (tulos); add (katetuottopros); add (kriittinenmyyntikpl); add (kriittinenmyynti); add (taulukonSMargiisi1); add (taulukonSMargiisi2); add (taulukonSMargiisi3); add (taulukonSMargiisi4); add (taulukonSMargiisi5); add (taulukonSMargiisi6); add (taulukonSMargiisi7); add (taulukonPMargiisi1); add (taulukonPMargiisi2); add (taulukonPMargiisi3); add (taulukonPMargiisi4); add (taulukonPMargiisi5); add (taulukonPMargiisi6); } public void paint(Graphics g) { hinta.setSize(50,25); mukut.setSize(50,25); sumyynti.setSize(50,25); kikut.setSize(50,25); hinta.setLocation(600,10); mukut.setLocation(600,36); sumyynti.setLocation(600,62); kikut.setLocation(600,88); lhinta.setLocation(651,10); lmukut.setLocation(651,36); lsumyynti.setLocation(651,62); lkikut.setLocation(651,88); painike.setLocation(600,120); testi.setLocation(600,150); myyntituotot.setLocation(770,10); mukuta.setLocation(770,36); katetuotto.setLocation(770,62); kikuta.setLocation(770,88); tulos.setLocation(770,114); katetuottopros.setLocation(770,140); kriittinenmyynti.setLocation(770,166); kriittinenmyyntikpl.setLocation(770,192); myyntituotot.setSize(200,25); mukuta.setSize(200,25); katetuotto.setSize(200,25); kikuta.setSize(200,25); tulos.setSize(200,25); katetuottopros.setSize(200,25); kriittinenmyynti.setSize(200,25); kriittinenmyyntikpl.setSize(200,25); taulukonSMargiisi1.setLocation(505,1); taulukonSMargiisi2.setLocation(505,80); taulukonSMargiisi3.setLocation(505,150); taulukonSMargiisi4.setLocation(505,235); taulukonSMargiisi5.setLocation(505,320); taulukonSMargiisi6.setLocation(505,405); taulukonSMargiisi7.setLocation(505,480); taulukonPMargiisi1.setLocation(1,505); taulukonPMargiisi2.setLocation(100,505); taulukonPMargiisi3.setLocation(200,505); taulukonPMargiisi4.setLocation(300,505); taulukonPMargiisi5.setLocation(400,505); taulukonPMargiisi6.setLocation(480,505); taulukonPMargiisi1.setSize(50,25); taulukonPMargiisi2.setSize(50,25); taulukonPMargiisi3.setSize(50,25); taulukonPMargiisi4.setSize(50,25); taulukonPMargiisi5.setSize(50,25); taulukonPMargiisi6.setSize(50,25); taulukonSMargiisi1.setSize(50,25); taulukonSMargiisi2.setSize(50,25); taulukonSMargiisi3.setSize(50,25); taulukonSMargiisi4.setSize(50,25); taulukonSMargiisi5.setSize(50,25); taulukonSMargiisi6.setSize(50,25); taulukonSMargiisi7.setSize(50,25); g.drawRect(1,1,500,500); g.drawLine(100,1,100,500); g.drawLine(200,1,200,500); g.drawLine(300,1,300,500); g.drawLine(400,1,400,500); g.drawLine(1,83,500,83); g.drawLine(1,166,500,166); g.drawLine(1,249,500,249); g.drawLine(1,332,500,332); g.drawLine(1,415,500,415); g.setColor(Color.red); g.drawLine(1,500-m/24,500,500-m/24); // (1,MUUTTUJA,500,MUUTTUJA2) g.drawLine(730,260,769,260); g.setColor(Color.blue); g.drawLine(1,500,500,500-xd/24); g.drawLine(730,285,769,285); g.setColor(Color.green); g.drawLine(1,500-m/24,500,500-xy/24); g.drawLine(730,310,769,310); punanen.setLocation(770,250); sininen.setLocation(770,275); vihrea.setLocation(770,300); } public void actionPerformed(ActionEvent e){ if (e.getActionCommand().equals("Syötä tiedot")) { // Tietojen tallennus luokille p=Integer.valueOf(hinta.getText()); l=Integer.valueOf(sumyynti.getText()); k=Integer.valueOf(mukut.getText()); o=Integer.valueOf(kikut.getText()); Myyntituotot.sethintakpl(p); Myyntituotot.setsumyynti(l); Myyntituotot.setmukut(k); Myyntituotot.setkikut(o); Mukut.sethintakpl(p); Mukut.setsumyynti(l); Mukut.setmukut(k); Mukut.setkikut(o); Katetuotto.sethintakpl(p); Katetuotto.setsumyynti(l); Katetuotto.setmukut(k); Katetuotto.setkikut(o); Kikut.sethintakpl(p); Kikut.setsumyynti(l); Kikut.setmukut(k); Kikut.setkikut(o); Tulos.sethintakpl(p); Tulos.setsumyynti(l); Tulos.setmukut(k); Tulos.setkikut(o); Katetuottopros.sethintakpl(p); Katetuottopros.setsumyynti(l); Katetuottopros.setmukut(k); Katetuottopros.setkikut(o); Kriittinenmyynti.sethintakpl(p); Kriittinenmyynti.setsumyynti(l); Kriittinenmyynti.setmukut(k); Kriittinenmyynti.setkikut(o); KriittinenmyyntiKpl.sethintakpl(p); KriittinenmyyntiKpl.setsumyynti(l); KriittinenmyyntiKpl.setmukut(k); KriittinenmyyntiKpl.setkikut(o); Taulukko.setsumyynti(l); Taulukko.sethintakpl(p); } else if (e.getActionCommand().equals("Laske")) { // Laskujen tulosten haku myyntituotot.setText("Myyntituotot: " + String.valueOf(Myyntituotot.MyyntituototL())); mukuta.setText("MuKut: " + String.valueOf(Mukut.MukutL())); katetuotto.setText("Katetuotto: " + String.valueOf(Katetuotto.KatetuottoL())); kikuta.setText("Kikut: " + String.valueOf(Kikut.KikutL())); tulos.setText("Tulos: " + String.valueOf(Tulos.Tulos())); katetuottopros.setText("Katetuottoprosentti: " + String.valueOf(Katetuottopros.KatetuottoPL())+"%"); kriittinenmyynti.setText("Kriittinenmyynti: " + String.valueOf(Kriittinenmyynti.KriittinenmyyntiL())); kriittinenmyyntikpl.setText("Kriittinenmyynti/kpl: " + String.valueOf(KriittinenmyyntiKpl.KriittinenmyyntiKL())); // m,n,b m=Integer.valueOf(kikut.getText()); n=Integer.valueOf(hinta.getText()); b=Integer.valueOf(sumyynti.getText()); v=Integer.valueOf(mukut.getText()); xd=n*b; xy=v*b+m; taulukonPMargiisi6.setText(String.valueOf(Taulukko.getSumyynti6())); taulukonPMargiisi5.setText(String.valueOf(Taulukko.getSumyynti5())); taulukonPMargiisi4.setText(String.valueOf(Taulukko.getSumyynti4())); taulukonPMargiisi3.setText(String.valueOf(Taulukko.getSumyynti3())); taulukonPMargiisi2.setText(String.valueOf(Taulukko.getSumyynti2())); taulukonSMargiisi1.setText(String.valueOf(Taulukko.getMyynti1())); taulukonSMargiisi2.setText(String.valueOf(Taulukko.getMyynti())); taulukonSMargiisi3.setText(String.valueOf(Taulukko.getMyynti2())); taulukonSMargiisi4.setText(String.valueOf(Taulukko.getMyynti3())); taulukonSMargiisi5.setText(String.valueOf(Taulukko.getMyynti4())); taulukonSMargiisi6.setText(String.valueOf(Taulukko.getMyynti5())); repaint(); } } }