Avatar billede ravelab Praktikant
29. april 2003 - 16:04 Der er 52 kommentarer og
1 løsning

Hjælp!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Hvordan laver jeg det sådan at min applet lægger alle point sammen med de point der er blevet givet i forvejen, hvorefter den divider med det antal personer der har stemt på biledet før (Den skal være i stand til at skriv til en fil så den vil havde en mulighed at kunne huske de stemmer den har fået i forvejen).
Efter den har gjort det skal den loppe alle billeder igennem med 3 sec mellemrum, men til forskel for før skal den også visse det gennemsnit der er blevet givet på det billeder, som den visse i det øjeblik.

Det lyder nok svært, men nu prøver jeg bare at se om der er en der kan hjælp mig, for jeg gider ikke give op når jeg er kommet så langt

Her har i kildekoden for min applet så i kan se hvad det er jeg snakker om.

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

    public class Rate extends Applet implements ItemListener
    {
        Image billede1,billede2,billede3,billede4,billede5,billede6,billede7,billede8,billede9,billede10,billede0;
                Panel panel1 = new Panel();
        BorderLayout Layout = new BorderLayout();

        Checkbox checkbox1 = new Checkbox();
          Checkbox checkbox2 = new Checkbox();
          Checkbox checkbox3 = new Checkbox();
        Checkbox checkbox4 = new Checkbox();
        Checkbox checkbox5 = new Checkbox();
        CheckboxGroup Group = new CheckboxGroup(); 

        public void init()
            {

        checkbox1.setLabel("1");
        checkbox2.setLabel("2");
        checkbox3.setLabel("3");
        checkbox4.setLabel("4");
        checkbox5.setLabel("5");
        checkbox1.setCheckboxGroup(Group);
        checkbox2.setCheckboxGroup(Group);
        checkbox3.setCheckboxGroup(Group);
        checkbox4.setCheckboxGroup(Group);
        checkbox5.setCheckboxGroup(Group);   

        this.setLayout(Layout);
        checkbox1.addItemListener(this);
        checkbox2.addItemListener(this);
        checkbox3.addItemListener(this);
        checkbox4.addItemListener(this);
        checkbox5.addItemListener(this);

        billede1 = this.getImage(this.getDocumentBase(), "pic01.jpg");
        billede2 = this.getImage(this.getDocumentBase(), "pic02.jpg");
        billede3 = this.getImage(this.getDocumentBase(), "pic03.jpg");
        billede4 = this.getImage(this.getDocumentBase(), "pic04.jpg");
        billede5 = this.getImage(this.getDocumentBase(), "pic05.jpg");
        billede6 = this.getImage(this.getDocumentBase(), "pic06.jpg");
        billede7 = this.getImage(this.getDocumentBase(), "pic07.jpg");
        billede8 = this.getImage(this.getDocumentBase(), "pic08.jpg");
        billede9 = this.getImage(this.getDocumentBase(), "pic09.jpg");
        billede10 = this.getImage(this.getDocumentBase(), "pic10.jpg");
           
        panel1.add(checkbox1, null);
        panel1.add(checkbox2, null);
        panel1.add(checkbox3, null);
        panel1.add(checkbox4, null);
        panel1.add(checkbox5, null);
                            this.add(panel1, Layout.SOUTH);
            }
            public void point()
            {
           
            }               

            public void paint(Graphics g)
            {
            g.drawImage(billede1,40,40,this);
            }
            public void itemStateChanged(ItemEvent e)
            {
           
            if (e.getSource() == checkbox1 ||
            e.getSource() == checkbox2 ||
            e.getSource() == checkbox3 ||
            e.getSource() == checkbox4 ||
            e.getSource() == checkbox5)
            {
            billede0=billede1;
            billede1=billede2;
            billede2=billede3;
            billede3=billede4;
            billede4=billede5;
            billede5=billede6;
            billede6=billede7;
            billede7=billede8;
            billede8=billede9;
            billede9=billede10;
            billede10=billede0;
            repaint();
            }
        }
    }         



Plezzzzzz Help me!!!! :-/
Avatar billede arne_v Ekspert
29. april 2003 - 16:20 #1
Jeg tror at du skal droppe ideen om at lave det hele client side
og supplere med noget server side.

Således at client:
  - viser billeder
  - viser gennemsnit
  - sender stemme
og server:
  - registrerer stemmer f.eks. i database
  - sender gennemsnit til client
Avatar billede jakoba Nybegynder
29. april 2003 - 16:23 #2
Først og fremmest skal du have et sted at akkumulere alle de stemmer der kommer på diverse billeder.

Der kan bliver stemt i allemulige browsere på allemulige brugeres computere, det logiske sted er at gemme stemmerne et sted de alle har tilfælles, dvs den server din applet hentes fra.

det bliver så problemet din applet skal (fra brugerens PC) kunne modificere en fil eller database der ligger din server. Det er muligt, men check med din udbyder om du overhovedet må. mange steder (TDC, get2net, ...) må du slet ikke. som hovedregel må du kun hvis du betaler for at få dine sider hosted (eller selv driver serveren).

mvh JakobA
Avatar billede postndk Nybegynder
29. april 2003 - 16:24 #3
kanon titel, Skriv en ordenlig titel, så kan det være at du er mere heldig med svar.
Avatar billede jakoba Nybegynder
29. april 2003 - 16:34 #4
Og dog. De fleste gratis-servere stiller en hitcounter til rådighed. Den kunne man godt bruge til at lave sådan en poll. Men lad hellere være. Det ville give en stærkt øget belastning af deres serverkapacitet så de ville sandsynligvis kalde det misbrug og lukke din side.
Avatar billede arne_v Ekspert
29. april 2003 - 16:44 #5
jakob>

Hvis appletten kun sender stemmen til serveren med HTTP og der så er
noget server-side (ASP/JSP/PHP/CGI) der opdaterer, så må der være
en hel del udbydere der understøtter databaser.
Avatar billede jakoba Nybegynder
29. april 2003 - 16:50 #6
jeps, men det er ligesom den med at en turing-maskine kan udføre ethvert program. Sandt, men urealistik. for at gemme tallet 2345678 skulle man hente en lille hjælpefil 2345678 gange.

ikke specielt praktisk :-))

mvh JakobA
Avatar billede ravelab Praktikant
29. april 2003 - 17:01 #7
hmmmmmmmmmmmm Okay så dropper jeg det.
okay er der nogen af jer der kan sige mig hvordan jeg kan laver et eller andet smart så jeg har en løkke og en if sætning i min applet. Det er et projekt jeg har fået for i Programmering og de eneste krav der bliver stiller er at der skal være en lykke og en if sætning. Så hvordan kan jeg lave et eller andet smart så jeg får disse elementer ind i min applet. har jo allerede en if sætning men hvordan skulle jeg få en lykke ind i min applet så det virker logisk at bruge en lykke i sådan et tilfælde
Avatar billede arne_v Ekspert
29. april 2003 - 17:18 #8
jakob>

Jeg tror du har misforstået mig. jeg snakker ikke om counter men
om f.eks.:

applet--(HTTP)--ASP----Access eller MySQL
Avatar billede arne_v Ekspert
29. april 2003 - 17:19 #9
ravelab>

Du kunne lave dine checkboxe til et array, så ville for løkker
komme helt narturligt.
Avatar billede arne_v Ekspert
29. april 2003 - 17:24 #10
Checkbox checkbox1 = new Checkbox();
        Checkbox checkbox2 = new Checkbox();
        Checkbox checkbox3 = new Checkbox();
        Checkbox checkbox4 = new Checkbox();
        Checkbox checkbox5 = new Checkbox();
...
        checkbox1.setLabel("1");
        checkbox2.setLabel("2");
        checkbox3.setLabel("3");
        checkbox4.setLabel("4");
        checkbox5.setLabel("5");

        checkbox1.setCheckboxGroup(Group);
        checkbox2.setCheckboxGroup(Group);
        checkbox3.setCheckboxGroup(Group);
        checkbox4.setCheckboxGroup(Group);
        checkbox5.setCheckboxGroup(Group);   

        checkbox1.addItemListener(this);
        checkbox2.addItemListener(this);
        checkbox3.addItemListener(this);
        checkbox4.addItemListener(this);
        checkbox5.addItemListener(this);
           
        panel1.add(checkbox1, null);
        panel1.add(checkbox2, null);
        panel1.add(checkbox3, null);
        panel1.add(checkbox4, null);
        panel1.add(checkbox5, null);

Kunne ersttates af:

Checkbox[] checkbox;

...

checkbox = new Checkbox[5];
for(int i = 0; i < checkbox.length; i++) {
    checkbox[i] = new Checkbox();
    checkbox[i].setLabel(Integer.toString(i));
    checkbox[i].setCheckboxGroup(Group);
    checkbox[i].addItemListener(this);
    panel1.add(checkbox[i], null);
}
Avatar billede arne_v Ekspert
29. april 2003 - 17:25 #11
Det virker vel umiddelbart som en god ændring - koden bliver ihvertfald
kortere af det.

NB: itemStateChanged metoden skal også ændres !
Avatar billede arne_v Ekspert
29. april 2003 - 17:27 #12
Jeg kan ikke helt gennsmue den if sætning men:

        if (e.getSource() == checkbox[1] ||
            e.getSource() == checkbox[2] ||
            e.getSource() == checkbox[3] ||
            e.getSource() == checkbox[4] ||
            e.getSource() == checkbox[5])
           
vil ihvertfald have samme funktionalitet.
Avatar billede ravelab Praktikant
29. april 2003 - 18:32 #13
Hmm fik 13 fejl da jeg skulle compille
Avatar billede ravelab Praktikant
29. april 2003 - 18:34 #14
Hvordan skulle jeg sette det op Arne_V i min kode jeg er rimlig ny til det her og jeg kan ikke oversku dit svar, men det virker som om du har forstand på det der Java!!
Avatar billede ravelab Praktikant
29. april 2003 - 18:44 #15
Inden jeg giver minne point til Arne_V ville jeg lige høre om du kunne forklare mig hvordan man lavede det sådan at f.eks. vis jeg trykkede på Checkbox 1 at den så ville skrive de antal point til en txt fil. Så ville du være min helt du ville sige mig hvordan man gjorde det!!!! Du får dinne 200 point så snart jeg får et svar!!!!

MVH Ravelab
Avatar billede arne_v Ekspert
29. april 2003 - 19:25 #16
Du skal vel have noget i retning af:

public void itemStateChanged(ItemEvent e) {
  if (e.getSource() == checkbox1) {
      // skriv noget
  } else if(e.getSource() == checkbox2) {
      // skriv noget andet
  } else if(e.getSource() == checkbox3) {
      // skriv noget andet
  } else if(e.getSource() == checkbox4) {
      // skriv noget andet
  } else if(e.getSource() == checkbox5) {
      // skriv noget andet
  }
}

med den gamle form og:

public void itemStateChanged(ItemEvent e) {
  if (e.getSource() == checkbox[1]) {
      // skriv noget
  } else if(e.getSource() == checkbox[2]) {
      // skriv noget andet
  } else if(e.getSource() == checkbox[3]) {
      // skriv noget andet
  } else if(e.getSource() == checkbox[4]) {
      // skriv noget andet
  } else if(e.getSource() == checkbox[5]) {
      // skriv noget andet
  }
}

med arrays.
Avatar billede arne_v Ekspert
29. april 2003 - 19:26 #17
Fik du arrays til at virke eller skal du have mere hjælp til det ?
Avatar billede ravelab Praktikant
29. april 2003 - 22:31 #18
Tja det må jeg sige ja til er det ikke noget i stil med, men jeg kan ikke se hvilken en fil de skriver til hvis de gør det i nu!! Den skulle bare være i stand til at lægge de point der bliver trykket på ind i en .txt fil f.eks. hvis jeg trykker på 1 så bliver der skrev 1 i fillen under f.eks. billede nr.1 og den skal være i stand til at skriv til filen uden at skrive oven i og på den måde virke som en slaks database.

Er det noget i stil med?

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

    public class Rate extends Applet implements ItemListener
    {
        Image billede1,billede2,billede3,billede4,billede5,billede6,billede7,billede8,billede9,billede10,billede0;
                Panel panel1 = new Panel();
        BorderLayout Layout = new BorderLayout();

                Checkbox checkbox1 = new Checkbox();
                  Checkbox checkbox2 = new Checkbox();
                  Checkbox checkbox3 = new Checkbox();
                Checkbox checkbox4 = new Checkbox();
                Checkbox checkbox5 = new Checkbox();
                CheckboxGroup Group = new CheckboxGroup(); 

            public void init()
            {

            checkbox1.setLabel("1");
            checkbox2.setLabel("2");
            checkbox3.setLabel("3");
            checkbox4.setLabel("4");
            checkbox5.setLabel("5");
            checkbox1.setCheckboxGroup(Group);
            checkbox2.setCheckboxGroup(Group);
            checkbox3.setCheckboxGroup(Group);
            checkbox4.setCheckboxGroup(Group);
            checkbox5.setCheckboxGroup(Group);   

            this.setLayout(Layout);
            checkbox1.addItemListener(this);
            checkbox2.addItemListener(this);
            checkbox3.addItemListener(this);
            checkbox4.addItemListener(this);
            checkbox5.addItemListener(this);

            billede1 = this.getImage(this.getDocumentBase(), "pic01.jpg");
            billede2 = this.getImage(this.getDocumentBase(), "pic02.jpg");
            billede3 = this.getImage(this.getDocumentBase(), "pic03.jpg");
            billede4 = this.getImage(this.getDocumentBase(), "pic04.jpg");
            billede5 = this.getImage(this.getDocumentBase(), "pic05.jpg");
            billede6 = this.getImage(this.getDocumentBase(), "pic06.jpg");
            billede7 = this.getImage(this.getDocumentBase(), "pic07.jpg");
            billede8 = this.getImage(this.getDocumentBase(), "pic08.jpg");
            billede9 = this.getImage(this.getDocumentBase(), "pic09.jpg");
            billede10 = this.getImage(this.getDocumentBase(), "pic10.jpg");
           
            panel1.add(checkbox1, null);
            panel1.add(checkbox2, null);
            panel1.add(checkbox3, null);
            panel1.add(checkbox4, null);
            panel1.add(checkbox5, null);
                        this.add(panel1, Layout.SOUTH);
            }
            public void point()
            {
           
            }   

            public static void main(String[] arg) throws IOException
              {
                FileWriter fil = new FileWriter("Point.txt");
            }

            public void paint(Graphics g)
            {
            g.drawImage(billede1,40,40,this);
            }
            public void itemStateChanged(ItemEvent e)
            {
           
            if (e.getSource() == checkbox1) {fil.write("1:\n");}

            if (e.getSource() == checkbox2) {fil.write("2:\n");}

            if (e.getSource() == checkbox3) {fil.write("3:\n");}

            if (e.getSource() == checkbox4) {fil.write("4:\n");}

            if (e.getSource() == checkbox5) {fil.write("5:\n");}
                {
                billede0=billede1;
                billede1=billede2;
                billede2=billede3;
                billede3=billede4;
                billede4=billede5;
                billede5=billede6;
                billede6=billede7;
                billede7=billede8;
                billede8=billede9;
                billede9=billede10;
                billede10=billede0;
                repaint();
                }
            }
    }
Avatar billede ravelab Praktikant
29. april 2003 - 22:36 #19
PS dette virker ikke og der var 18 fejl da jeg prøvede at compile..

Som du kan se er jeg ikke den syge java mester!!! Damit
Avatar billede arne_v Ekspert
29. april 2003 - 22:40 #20
Skal det køre som applet eller som application ?

(du extender applet men har alligevel en main)
Avatar billede arne_v Ekspert
29. april 2003 - 22:44 #21
Følgende compiler men virker hverken som applet eller som applikation
(fordi det er lidt blandet).
Avatar billede arne_v Ekspert
29. april 2003 - 22:44 #22
package test;

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class Rate extends Applet implements ItemListener {
    static FileWriter fil;
    Image billede1,
        billede2,
        billede3,
        billede4,
        billede5,
        billede6,
        billede7,
        billede8,
        billede9,
        billede10,
        billede0;
    Panel panel1 = new Panel();
    BorderLayout Layout = new BorderLayout();

    Checkbox checkbox1 = new Checkbox();
    Checkbox checkbox2 = new Checkbox();
    Checkbox checkbox3 = new Checkbox();
    Checkbox checkbox4 = new Checkbox();
    Checkbox checkbox5 = new Checkbox();
    CheckboxGroup Group = new CheckboxGroup();

    public void init() {

        checkbox1.setLabel("1");
        checkbox2.setLabel("2");
        checkbox3.setLabel("3");
        checkbox4.setLabel("4");
        checkbox5.setLabel("5");
        checkbox1.setCheckboxGroup(Group);
        checkbox2.setCheckboxGroup(Group);
        checkbox3.setCheckboxGroup(Group);
        checkbox4.setCheckboxGroup(Group);
        checkbox5.setCheckboxGroup(Group);

        this.setLayout(Layout);
        checkbox1.addItemListener(this);
        checkbox2.addItemListener(this);
        checkbox3.addItemListener(this);
        checkbox4.addItemListener(this);
        checkbox5.addItemListener(this);

        billede1 = this.getImage(this.getDocumentBase(), "pic01.jpg");
        billede2 = this.getImage(this.getDocumentBase(), "pic02.jpg");
        billede3 = this.getImage(this.getDocumentBase(), "pic03.jpg");
        billede4 = this.getImage(this.getDocumentBase(), "pic04.jpg");
        billede5 = this.getImage(this.getDocumentBase(), "pic05.jpg");
        billede6 = this.getImage(this.getDocumentBase(), "pic06.jpg");
        billede7 = this.getImage(this.getDocumentBase(), "pic07.jpg");
        billede8 = this.getImage(this.getDocumentBase(), "pic08.jpg");
        billede9 = this.getImage(this.getDocumentBase(), "pic09.jpg");
        billede10 = this.getImage(this.getDocumentBase(), "pic10.jpg");

        panel1.add(checkbox1, null);
        panel1.add(checkbox2, null);
        panel1.add(checkbox3, null);
        panel1.add(checkbox4, null);
        panel1.add(checkbox5, null);
        this.add(panel1, BorderLayout.SOUTH);
    }
    public void point() {

    }

    public static void main(String[] arg) throws IOException {
        fil = new FileWriter("Point.txt");
    }

    public void paint(Graphics g) {
        g.drawImage(billede1, 40, 40, this);
    }
    public void itemStateChanged(ItemEvent e) {

    try {
              if (e.getSource() == checkbox1) {
                    fil.write("1:\n");
                }
           
                if (e.getSource() == checkbox2) {
                    fil.write("2:\n");
                }
           
                if (e.getSource() == checkbox3) {
                    fil.write("3:\n");
                }
           
                if (e.getSource() == checkbox4) {
                    fil.write("4:\n");
                }
           
                if (e.getSource() == checkbox5) {
                    fil.write("5:\n");
                }
           
        } catch (IOException e1) {
            e1.printStackTrace();
        } 
            billede0 = billede1;
            billede1 = billede2;
            billede2 = billede3;
            billede3 = billede4;
            billede4 = billede5;
            billede5 = billede6;
            billede6 = billede7;
            billede7 = billede8;
            billede8 = billede9;
            billede9 = billede10;
            billede10 = billede0;
            repaint();
    }
}
Avatar billede arne_v Ekspert
29. april 2003 - 22:57 #23
Følgende kan køre som en applikation. Men der mangler stadigvæk en del.
Avatar billede arne_v Ekspert
29. april 2003 - 22:57 #24
import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class Rate extends Frame implements ItemListener {
    static FileWriter fil;
    Image billede1,
        billede2,
        billede3,
        billede4,
        billede5,
        billede6,
        billede7,
        billede8,
        billede9,
        billede10,
        billede0;
    Panel panel1 = new Panel();
    BorderLayout Layout = new BorderLayout();

    Checkbox checkbox1 = new Checkbox();
    Checkbox checkbox2 = new Checkbox();
    Checkbox checkbox3 = new Checkbox();
    Checkbox checkbox4 = new Checkbox();
    Checkbox checkbox5 = new Checkbox();
    CheckboxGroup Group = new CheckboxGroup();

    public void init() {

        checkbox1.setLabel("1");
        checkbox2.setLabel("2");
        checkbox3.setLabel("3");
        checkbox4.setLabel("4");
        checkbox5.setLabel("5");
        checkbox1.setCheckboxGroup(Group);
        checkbox2.setCheckboxGroup(Group);
        checkbox3.setCheckboxGroup(Group);
        checkbox4.setCheckboxGroup(Group);
        checkbox5.setCheckboxGroup(Group);

        this.setLayout(Layout);
        checkbox1.addItemListener(this);
        checkbox2.addItemListener(this);
        checkbox3.addItemListener(this);
        checkbox4.addItemListener(this);
        checkbox5.addItemListener(this);

        billede1 = Toolkit.getDefaultToolkit().createImage("pic01.jpg");
        billede2 = Toolkit.getDefaultToolkit().createImage("pic02.jpg");
        billede3 = Toolkit.getDefaultToolkit().createImage("pic03.jpg");
        billede4 = Toolkit.getDefaultToolkit().createImage("pic04.jpg");
        billede5 = Toolkit.getDefaultToolkit().createImage("pic05.jpg");
        billede6 = Toolkit.getDefaultToolkit().createImage("pic06.jpg");
        billede7 = Toolkit.getDefaultToolkit().createImage("pic07.jpg");
        billede8 = Toolkit.getDefaultToolkit().createImage("pic08.jpg");
        billede9 = Toolkit.getDefaultToolkit().createImage("pic09.jpg");
        billede10 = Toolkit.getDefaultToolkit().createImage("pic10.jpg");

        panel1.add(checkbox1, null);
        panel1.add(checkbox2, null);
        panel1.add(checkbox3, null);
        panel1.add(checkbox4, null);
        panel1.add(checkbox5, null);
        this.add(panel1, BorderLayout.SOUTH);
    }
    public void point() {

    }

    public static void main(String[] arg) throws IOException {
        fil = new FileWriter("Point.txt");
        Rate r = new Rate();
        r.init();
        r.show();
    }

    public void paint(Graphics g) {
        g.drawImage(billede1, 40, 40, this);
    }
    public void itemStateChanged(ItemEvent e) {

        try {
            if (e.getSource() == checkbox1) {
                fil.write("1:\n");
            }

            if (e.getSource() == checkbox2) {
                fil.write("2:\n");
            }

            if (e.getSource() == checkbox3) {
                fil.write("3:\n");
            }

            if (e.getSource() == checkbox4) {
                fil.write("4:\n");
            }

            if (e.getSource() == checkbox5) {
                fil.write("5:\n");
            }

        } catch (IOException e1) {
            e1.printStackTrace();
        }
        billede0 = billede1;
        billede1 = billede2;
        billede2 = billede3;
        billede3 = billede4;
        billede4 = billede5;
        billede5 = billede6;
        billede6 = billede7;
        billede7 = billede8;
        billede8 = billede9;
        billede9 = billede10;
        billede10 = billede0;
        repaint();
    }
}
Avatar billede ravelab Praktikant
30. april 2003 - 00:46 #25
Giver dig de 200 nu, men Hvad mangler jeg dor at då den til at køre som en applet? Gør programmet ikke følgne, efter min menning, som jeg havde forståget det på http://javabog.dk at den nu skulle være i stand til at skrive til filen, men at den vær gang skrive på en ny linie i fil? Korekt mig vis jeg tager fejl.

Men tak for Hjælpen.

Hvis du har lys må du godt sig hvordan jeg får den til at gøre følgne f.eks. Den skriver i TXT filen Pic01.jpg og under dette skulle den skrive de point der bliver givet til det billede. Det vil sige at den under Pic01.jpg skriver et point tal på være en linie under været file navn så det ville lave en .txt der ville se sådan ud:


Pic01.jpg
5
3
2
1
4
6
pic02.jpg
5
3
2
1
4
6
pic03.jpg
5
3
2
1
4
6


eller

Pic01.jpg
3
pic02.jpg
5
pic03.jpg
1

OSV
Avatar billede ravelab Praktikant
30. april 2003 - 00:48 #26
Giver dig de 200 nu, men Hvad mangler jeg dor at då den til at køre som en applet

Shit så ikke at jeg skriv så mange fejl skod keybord

Giver dig de 200 nu, men hvad mangler jeg dog at gøre for at få den til at køre som en applet?
Avatar billede bentn Nybegynder
30. april 2003 - 00:52 #27
Avatar billede arne_v Ekspert
30. april 2003 - 07:58 #28
Det vil være meget besværligt at få en applet til at skrive til en fil
p.g.a. de indbyggede restriktioneri applets m.v. (se nogle af alle
de første kommentarer).
Avatar billede arne_v Ekspert
30. april 2003 - 07:59 #29
Point-udskrivningen til fil kan vi nok godt forbedre lidt.
Avatar billede arne_v Ekspert
30. april 2003 - 08:16 #30
Den her version appender til filen i.s.f. at overskrive den:

package test;

import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class Rate extends Frame implements ItemListener {
    static FileWriter fil;
    Image billede1,
        billede2,
        billede3,
        billede4,
        billede5,
        billede6,
        billede7,
        billede8,
        billede9,
        billede10,
        billede0;
    Panel panel1 = new Panel();
    BorderLayout Layout = new BorderLayout();

    Checkbox checkbox1 = new Checkbox();
    Checkbox checkbox2 = new Checkbox();
    Checkbox checkbox3 = new Checkbox();
    Checkbox checkbox4 = new Checkbox();
    Checkbox checkbox5 = new Checkbox();
    CheckboxGroup Group = new CheckboxGroup();

    public void init() {

        checkbox1.setLabel("1");
        checkbox2.setLabel("2");
        checkbox3.setLabel("3");
        checkbox4.setLabel("4");
        checkbox5.setLabel("5");
        checkbox1.setCheckboxGroup(Group);
        checkbox2.setCheckboxGroup(Group);
        checkbox3.setCheckboxGroup(Group);
        checkbox4.setCheckboxGroup(Group);
        checkbox5.setCheckboxGroup(Group);

        this.setLayout(Layout);
        checkbox1.addItemListener(this);
        checkbox2.addItemListener(this);
        checkbox3.addItemListener(this);
        checkbox4.addItemListener(this);
        checkbox5.addItemListener(this);

        billede1 = Toolkit.getDefaultToolkit().createImage("pic01.jpg");
        billede2 = Toolkit.getDefaultToolkit().createImage("pic02.jpg");
        billede3 = Toolkit.getDefaultToolkit().createImage("pic03.jpg");
        billede4 = Toolkit.getDefaultToolkit().createImage("pic04.jpg");
        billede5 = Toolkit.getDefaultToolkit().createImage("pic05.jpg");
        billede6 = Toolkit.getDefaultToolkit().createImage("pic06.jpg");
        billede7 = Toolkit.getDefaultToolkit().createImage("pic07.jpg");
        billede8 = Toolkit.getDefaultToolkit().createImage("pic08.jpg");
        billede9 = Toolkit.getDefaultToolkit().createImage("pic09.jpg");
        billede10 = Toolkit.getDefaultToolkit().createImage("pic10.jpg");

        panel1.add(checkbox1, null);
        panel1.add(checkbox2, null);
        panel1.add(checkbox3, null);
        panel1.add(checkbox4, null);
        panel1.add(checkbox5, null);
        this.add(panel1, BorderLayout.SOUTH);
    }

    public static void main(String[] arg) throws IOException {
        fil = new FileWriter("Point.txt", true);
        Rate r = new Rate();
        r.init();
        r.show();
    }

    public void paint(Graphics g) {
        g.drawImage(billede1, 40, 40, this);
    }
    public void itemStateChanged(ItemEvent e) {

        try {
            if (e.getSource() == checkbox1) {
                fil.write("1:\n");
                fil.flush();
            }

            if (e.getSource() == checkbox2) {
                fil.write("2:\n");
                fil.flush();
            }

            if (e.getSource() == checkbox3) {
                fil.write("3:\n");
                fil.flush();
            }

            if (e.getSource() == checkbox4) {
                fil.write("4:\n");
                fil.flush();
            }

            if (e.getSource() == checkbox5) {
                fil.write("5:\n");
                fil.flush();
            }

        } catch (IOException e1) {
            e1.printStackTrace();
        }
        billede0 = billede1;
        billede1 = billede2;
        billede2 = billede3;
        billede3 = billede4;
        billede4 = billede5;
        billede5 = billede6;
        billede6 = billede7;
        billede7 = billede8;
        billede8 = billede9;
        billede9 = billede10;
        billede10 = billede0;
        repaint();
    }
}
Avatar billede arne_v Ekspert
30. april 2003 - 08:30 #31
Den her version kan så også lukkes normalt:

package test;

import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class Rate extends Frame implements ItemListener, WindowListener {
    static FileWriter fil;
    Image billede1,
        billede2,
        billede3,
        billede4,
        billede5,
        billede6,
        billede7,
        billede8,
        billede9,
        billede10,
        billede0;
    Panel panel1 = new Panel();
    BorderLayout Layout = new BorderLayout();

    Checkbox checkbox1 = new Checkbox();
    Checkbox checkbox2 = new Checkbox();
    Checkbox checkbox3 = new Checkbox();
    Checkbox checkbox4 = new Checkbox();
    Checkbox checkbox5 = new Checkbox();
    CheckboxGroup Group = new CheckboxGroup();

    public void init() {

        checkbox1.setLabel("1");
        checkbox2.setLabel("2");
        checkbox3.setLabel("3");
        checkbox4.setLabel("4");
        checkbox5.setLabel("5");
        checkbox1.setCheckboxGroup(Group);
        checkbox2.setCheckboxGroup(Group);
        checkbox3.setCheckboxGroup(Group);
        checkbox4.setCheckboxGroup(Group);
        checkbox5.setCheckboxGroup(Group);

        this.setLayout(Layout);
        checkbox1.addItemListener(this);
        checkbox2.addItemListener(this);
        checkbox3.addItemListener(this);
        checkbox4.addItemListener(this);
        checkbox5.addItemListener(this);

        billede1 = Toolkit.getDefaultToolkit().createImage("pic01.jpg");
        billede2 = Toolkit.getDefaultToolkit().createImage("pic02.jpg");
        billede3 = Toolkit.getDefaultToolkit().createImage("pic03.jpg");
        billede4 = Toolkit.getDefaultToolkit().createImage("pic04.jpg");
        billede5 = Toolkit.getDefaultToolkit().createImage("pic05.jpg");
        billede6 = Toolkit.getDefaultToolkit().createImage("pic06.jpg");
        billede7 = Toolkit.getDefaultToolkit().createImage("pic07.jpg");
        billede8 = Toolkit.getDefaultToolkit().createImage("pic08.jpg");
        billede9 = Toolkit.getDefaultToolkit().createImage("pic09.jpg");
        billede10 = Toolkit.getDefaultToolkit().createImage("pic10.jpg");

        panel1.add(checkbox1, null);
        panel1.add(checkbox2, null);
        panel1.add(checkbox3, null);
        panel1.add(checkbox4, null);
        panel1.add(checkbox5, null);
        this.add(panel1, BorderLayout.SOUTH);
        this.addWindowListener(this);
    }

    public static void main(String[] arg) throws IOException {
        fil = new FileWriter("Point.txt", true);
        Rate r = new Rate();
        r.init();
        r.show();
    }

    public void paint(Graphics g) {
        g.drawImage(billede1, 40, 40, this);
    }
    public void itemStateChanged(ItemEvent e) {
        try {
            if (e.getSource() == checkbox1) {
                fil.write("1:\n");
                fil.flush();
            }

            if (e.getSource() == checkbox2) {
                fil.write("2:\n");
                fil.flush();
            }

            if (e.getSource() == checkbox3) {
                fil.write("3:\n");
                fil.flush();
            }

            if (e.getSource() == checkbox4) {
                fil.write("4:\n");
                fil.flush();
            }

            if (e.getSource() == checkbox5) {
                fil.write("5:\n");
                fil.flush();
            }

        } catch (IOException e1) {
            e1.printStackTrace();
        }
        billede0 = billede1;
        billede1 = billede2;
        billede2 = billede3;
        billede3 = billede4;
        billede4 = billede5;
        billede5 = billede6;
        billede6 = billede7;
        billede7 = billede8;
        billede8 = billede9;
        billede9 = billede10;
        billede10 = billede0;
        repaint();
    }
    public void windowClosed(WindowEvent e) {
        System.exit(0);
    }
    public void windowClosing(WindowEvent e) {
        this.dispose();
    }
    public void windowActivated(WindowEvent e) {
    }
    public void windowDeactivated(WindowEvent e) {
    }
    public void windowIconified(WindowEvent e) {
    }
    public void windowDeiconified(WindowEvent e) {
    }
    public void windowOpened(WindowEvent e) {
    }
}
Avatar billede arne_v Ekspert
30. april 2003 - 08:31 #32
Hvis I vil have filen helt som beskrevet, så bliver I nødt til at læse hele filen
ved opstart og så genskrive den med ændringer.
Avatar billede arne_v Ekspert
30. april 2003 - 08:32 #33
Men jer er iøvrigt stadig ikke sikker på at jeg helt har forstået,
hvad det er I vil have programmet til.
Avatar billede ravelab Praktikant
30. april 2003 - 15:17 #34
Du skriver oppe i toppen af mit indlæg, hvordan jeg laver mine det sådan at mine checkbox’s ville virke som en løkke. Hvordan ville du sætte den kode ind i koden så det ville virke?

Ideen med dette program er at det skulle være en primitiv udgave af sådan en afstemnings ting. I stedet for at den laver en database så skulle den bare skrive til en fil hvor adminen kunne gå ind og læse hvor mange point der var blevet givet til været et billede og efter som det kun er et C fag behøver jeg ikke at havde alle mulige gale ting med f.eks. database osv. Den skal bare havde løkker og betingelser med i og så skal den også havde en vis brugbarhed. Så det ikke er et program der er lavet uden en form for brugbarhed.

Er du med nu? 

Det er en applet jeg prøver at lave og ikke det der frame ting.
Avatar billede arne_v Ekspert
30. april 2003 - 15:30 #35
Jeg laver en version med løkker og arrays.

Jeg har forstået at I gerne vil have en applet, men en applet
kan ikke skrive i en fil på serveren. Det er umuligt.

En applet kan med normale priviligier ikke engang skriv i en
fil på den PC den kører på.
Avatar billede ravelab Praktikant
30. april 2003 - 15:31 #36
den skal ikke skrive til en fil på en server den skal bare skrive til HDD og det er kun et C fag så den skal ikke lave nogle galle ting!
Avatar billede ravelab Praktikant
30. april 2003 - 15:32 #37
Sorry have ikke set det. Det er begyndt at være smært at find ting her
Avatar billede ravelab Praktikant
30. april 2003 - 15:36 #38
Hmmm det ser sort ud for mig!!!!!  Nu hved jeg ikke havde jeg skal lave, trogede bare at jeg måske kunne rede den hved at gøre det!!! Så er jeg på bar bund igen damit!!! Har du nogle forslag til hvad man kan lave, som har løkker og Betingelser?
Avatar billede arne_v Ekspert
30. april 2003 - 15:38 #39
import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class Rate extends Frame implements ItemListener, WindowListener {
    private static FileWriter fil;
    private Image billede1,
        billede2,
        billede3,
        billede4,
        billede5,
        billede6,
        billede7,
        billede8,
        billede9,
        billede10,
        billede0;
    private Panel panel1 = new Panel();
    private BorderLayout Layout = new BorderLayout();

    private Checkbox[] checkbox = new Checkbox[5];
    private CheckboxGroup Group = new CheckboxGroup();

    public Rate() {

        for (int i = 0; i < checkbox.length; i++) {
            checkbox[i] = new Checkbox();
            checkbox[i].setLabel(Integer.toString(i + 1));
            checkbox[i].setCheckboxGroup(Group);
            checkbox[i].addItemListener(this);
            panel1.add(checkbox[i], null);
        }
        this.setLayout(Layout);

        billede1 = Toolkit.getDefaultToolkit().createImage("pic01.jpg");
        billede2 = Toolkit.getDefaultToolkit().createImage("pic02.jpg");
        billede3 = Toolkit.getDefaultToolkit().createImage("pic03.jpg");
        billede4 = Toolkit.getDefaultToolkit().createImage("pic04.jpg");
        billede5 = Toolkit.getDefaultToolkit().createImage("pic05.jpg");
        billede6 = Toolkit.getDefaultToolkit().createImage("pic06.jpg");
        billede7 = Toolkit.getDefaultToolkit().createImage("pic07.jpg");
        billede8 = Toolkit.getDefaultToolkit().createImage("pic08.jpg");
        billede9 = Toolkit.getDefaultToolkit().createImage("pic09.jpg");
        billede10 = Toolkit.getDefaultToolkit().createImage("pic10.jpg");

        this.add(panel1, BorderLayout.SOUTH);
        this.addWindowListener(this);
    }

    public static void main(String[] arg) throws IOException {
        fil = new FileWriter("Point.txt", true);
        Rate r = new Rate();
        r.show();
    }

    public void paint(Graphics g) {
        g.drawImage(billede1, 40, 40, this);
    }
    public void itemStateChanged(ItemEvent e) {
        try {
            for (int i = 0; i < 5; i++) {
                if (e.getSource() == checkbox[i]) {
                    fil.write((i + 1) + ":\n");
                    fil.flush();
                }

            }

        } catch (IOException e1) {
            e1.printStackTrace();
        }
        billede0 = billede1;
        billede1 = billede2;
        billede2 = billede3;
        billede3 = billede4;
        billede4 = billede5;
        billede5 = billede6;
        billede6 = billede7;
        billede7 = billede8;
        billede8 = billede9;
        billede9 = billede10;
        billede10 = billede0;
        repaint();
    }
    public void windowClosed(WindowEvent e) {
        System.exit(0);
    }
    public void windowClosing(WindowEvent e) {
        this.dispose();
    }
    public void windowActivated(WindowEvent e) {
    }
    public void windowDeactivated(WindowEvent e) {
    }
    public void windowIconified(WindowEvent e) {
    }
    public void windowDeiconified(WindowEvent e) {
    }
    public void windowOpened(WindowEvent e) {
    }
}
Avatar billede arne_v Ekspert
30. april 2003 - 15:44 #40
Ovenstående har både løkke og if sætninger.

Hvorfor skal det absolut være en applet ?

Er en applikation ikke lige så god ?
Avatar billede ravelab Praktikant
30. april 2003 - 15:56 #41
Okay så må jeg nøjes med et program, men det er også fint nok!!! Tak Arne du er bare Gud til det der Java shit!!!! Hvordan er du blevet så god til det har du lavet en Doktor grad i Java?

HVordan laver man det sådan at den auto tilpasser programmet til den opløsning billede køre i? Hvis det kræver for meget af din tid så drop det! okay men ellers tak for hjælp, bare sig til hvis skal havde hjælp til noget bare det ikke har noget at gøre med Programmering for det er jeg ikke for god til, men hardware det er okay til.

Man kan vel ikke få den til at Skirve filnavnet ind i mellem talne i point.txt, hvis det er for svært så drop det.


Mange gange tak for hjælpen
Avatar billede ravelab Praktikant
30. april 2003 - 15:57 #42
Det er bare mig der har været skæv i hovede sorry for alt det besvær
Avatar billede ravelab Praktikant
30. april 2003 - 16:07 #43
Er det ikke JFrame Der det muligt at skriv text oppe i linie oppe i toppen af programme vis jeg ville skrive en text?
Avatar billede arne_v Ekspert
30. april 2003 - 16:09 #44
Jeg har 20 års erfaring med programmering (heraf 3.5 med Java).
Avatar billede arne_v Ekspert
30. april 2003 - 16:11 #45
Java har 2 GUI frameworks/biblioteker: AWT og Swing.

Det hedder Frame i AWT og JFrame i Swing.

Jeres kode bruger AWT.

(når man laver applets så nøjes man ofte med AWT fordi mange browsere
ikke kan vise applets som bruger Swing).
Avatar billede arne_v Ekspert
30. april 2003 - 16:11 #46
Jeg kigger eventuelt lidt på de sidste ønsker i aften.
Avatar billede arne_v Ekspert
30. april 2003 - 22:28 #47
To ændringer:

1)  tekst i toppen
2)  full size (og det er full size - hvis ikke i hider bund baren, så
    kan I ikke se checkboxene !)

import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class Rate extends Frame implements ItemListener, WindowListener {
    private static FileWriter fil;
    private Image billede1,
        billede2,
        billede3,
        billede4,
        billede5,
        billede6,
        billede7,
        billede8,
        billede9,
        billede10,
        billede0;
    private Panel panel1 = new Panel();
    private BorderLayout Layout = new BorderLayout();

    private Checkbox[] checkbox = new Checkbox[5];
    private CheckboxGroup Group = new CheckboxGroup();

    public Rate() {
        setLayout(Layout);
        add(new Label("Dette er en test"), BorderLayout.NORTH);
        for (int i = 0; i < checkbox.length; i++) {
            checkbox[i] = new Checkbox();
            checkbox[i].setLabel(Integer.toString(i + 1));
            checkbox[i].setCheckboxGroup(Group);
            checkbox[i].addItemListener(this);
            panel1.add(checkbox[i], null);
        }
        add(panel1, BorderLayout.SOUTH);

        billede1 = Toolkit.getDefaultToolkit().createImage("pic01.jpg");
        billede2 = Toolkit.getDefaultToolkit().createImage("pic02.jpg");
        billede3 = Toolkit.getDefaultToolkit().createImage("pic03.jpg");
        billede4 = Toolkit.getDefaultToolkit().createImage("pic04.jpg");
        billede5 = Toolkit.getDefaultToolkit().createImage("pic05.jpg");
        billede6 = Toolkit.getDefaultToolkit().createImage("pic06.jpg");
        billede7 = Toolkit.getDefaultToolkit().createImage("pic07.jpg");
        billede8 = Toolkit.getDefaultToolkit().createImage("pic08.jpg");
        billede9 = Toolkit.getDefaultToolkit().createImage("pic09.jpg");
        billede10 = Toolkit.getDefaultToolkit().createImage("pic10.jpg");

        addWindowListener(this);
       
        setSize(Toolkit.getDefaultToolkit().getScreenSize());
    }

    public static void main(String[] arg) throws IOException {
        fil = new FileWriter("Point.txt", true);
        Rate r = new Rate();
        r.show();
    }

    public void paint(Graphics g) {
        g.drawImage(billede1, 40, 40, this);
    }
    public void itemStateChanged(ItemEvent e) {
        try {
            for (int i = 0; i < 5; i++) {
                if (e.getSource() == checkbox[i]) {
                    fil.write((i + 1) + ":\n");
                    fil.flush();
                }

            }

        } catch (IOException e1) {
            e1.printStackTrace();
        }
        billede0 = billede1;
        billede1 = billede2;
        billede2 = billede3;
        billede3 = billede4;
        billede4 = billede5;
        billede5 = billede6;
        billede6 = billede7;
        billede7 = billede8;
        billede8 = billede9;
        billede9 = billede10;
        billede10 = billede0;
        repaint();
    }
    public void windowClosed(WindowEvent e) {
        System.exit(0);
    }
    public void windowClosing(WindowEvent e) {
        this.dispose();
    }
    public void windowActivated(WindowEvent e) {
    }
    public void windowDeactivated(WindowEvent e) {
    }
    public void windowIconified(WindowEvent e) {
    }
    public void windowDeiconified(WindowEvent e) {
    }
    public void windowOpened(WindowEvent e) {
    }
}
Avatar billede arne_v Ekspert
30. april 2003 - 22:30 #48
Og jeg har stadigvæk ikke helt forstået hvordan billederne skal vises
og hvordan de skal vælges (så rating kan forbindes med et billede).
Avatar billede ravelab Praktikant
30. april 2003 - 23:45 #49
Det er ikke så vigtigt da det kun er et C fag så skal man ikke lave det helt vilde java shit, men det skulle virke som en demo for at det kan lade sig gøre at skrive til en fil.

Men min oprindelige ide var at Lave det sådan at når man havde stemt alle 10 billeder igennem en gang så ville den visse alle billede i loop med 3 sec mellemrum indtil man lukkede programmet og eftersom det var for svært at lave det sådan at den ville skrive biledes navn efterfuldt af de point der blev givet til det bilede osv. Så måtte jeg nøjes med at den bare skriver point til en fil.

Men denne version start ikke den ny fil i full skærm og når man maximer så er billede ikke i mitten som min første version du har fjernet den borderlayout centrum!!! men drop det der med full skærm helle havden den til at skarte i en opløsning af width=440 height=590 og med billet i centrum.

Det skulle bare være en primitiv upgave af en poll!!! Men det kunne lade sig at gøre at lave det som jeg har nevnt foroven så må jeg sige respect!!!

MVH Ravelab
Avatar billede ravelab Praktikant
01. maj 2003 - 00:41 #50
når det med bilederne skulle være sådan at man selv kunne vægle hvilke billeder det skulle det er derfor de hedder pic01.jpg osv så man selv kan lave om på pollen uden at skulle ´compile helt om. Så man kunne stemme på kat og hund osv..... eller end på hvilken et stats overhovede der er meste populeret f.ske Sadam vs Busch bare for at være aktuel!!!! Det er bare det!
Avatar billede ravelab Praktikant
01. maj 2003 - 00:55 #51
Drop det der med full skærm bare lavde sådan at den start i en opløsning af width=440 height=590 med billedet i centrum og så skal programmet laves sådan at når man når til slut og man har givet alle sinne stemmer så skal programmet visse alle bilederne i loop med 3 sec mellemrum ind til man lukke for og når den begynder at loppe så skal checkboxne forsvinde. Jeg ville regne med at man skal lave det sådan at når den når til det tomme billede billede0 så skal i stedet for at begynd at køre forfra så skulle den lave det loop jeg har nevt her i denne text og når det er blevet lavet så skulle programmet være færdigt. Hvis det kan lade sig gøre det ikke sikkeret at det kan lade sig gøre!!!

Jeg hved godt at jeg har været besværlig og jeg takker dig for hjælp ekspertise ind for dette fælt.

Arne u are the king off java!!!! hehe
Avatar billede ravelab Praktikant
01. maj 2003 - 17:43 #52
Sådan ser min kode ud nu:

import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class Rate extends Frame implements ItemListener, WindowListener {
    private static FileWriter fil;
    private Image billede1,
        billede2,
        billede3,
        billede4,
        billede5,
        billede6,
        billede7,
        billede8,
        billede9,
        billede10,
        billede0;
    private Panel panel1 = new Panel();
    private BorderLayout Layout = new BorderLayout();

    private Checkbox[] checkbox = new Checkbox[5];
    private CheckboxGroup Group = new CheckboxGroup();

    public Rate() {

    MenuBar menuBar1 = new MenuBar();
    Menu menuFil = new Menu();
    MenuItem menuItemOm = new MenuItem();
    MenuItem menuItemAfslut = new MenuItem();

    this.setMenuBar(menuBar1);

    menuFil.setLabel("Filer");
    menuItemOm.setLabel("Om Rate a Babe");
    menuItemAfslut.setLabel("Afslut");
    menuFil.add(menuItemOm);
    menuFil.add(menuItemAfslut);
    menuBar1.add(menuFil);

        for (int i = 0; i < checkbox.length; i++) {
            checkbox[i] = new Checkbox();
            checkbox[i].setLabel(Integer.toString(i + 1));
            checkbox[i].setCheckboxGroup(Group);
            checkbox[i].addItemListener(this);
            panel1.add(checkbox[i], null);
        }
        this.setLayout(Layout);

        billede1 = Toolkit.getDefaultToolkit().createImage("pic01.jpg");
        billede2 = Toolkit.getDefaultToolkit().createImage("pic02.jpg");
        billede3 = Toolkit.getDefaultToolkit().createImage("pic03.jpg");
        billede4 = Toolkit.getDefaultToolkit().createImage("pic04.jpg");
        billede5 = Toolkit.getDefaultToolkit().createImage("pic05.jpg");
        billede6 = Toolkit.getDefaultToolkit().createImage("pic06.jpg");
        billede7 = Toolkit.getDefaultToolkit().createImage("pic07.jpg");
        billede8 = Toolkit.getDefaultToolkit().createImage("pic08.jpg");
        billede9 = Toolkit.getDefaultToolkit().createImage("pic09.jpg");
        billede10 = Toolkit.getDefaultToolkit().createImage("pic10.jpg");

    setSize(440, 650); //sætter vinduets bredde og højde//
    setLocation(300, 130); //sætter vinduets position på skærmen//
    setTitle("Rate a Babe"); //sætter vinduets titel//
        this.add(panel1, BorderLayout.SOUTH);
        this.addWindowListener(this);
    }

    public static void main(String[] arg) throws IOException {
        fil = new FileWriter("Point.txt", true);
        Rate r = new Rate();
        r.show();
    }

    public void paint(Graphics g) {
        g.drawImage(billede1, 40, 40, this);
    }
    public void itemStateChanged(ItemEvent e) {
        try {
            for (int i = 0; i < 5; i++) {
                if (e.getSource() == checkbox[i]) {
                    fil.write((i + 1) + ":\n");
                    fil.flush();
                }

            }

        } catch (IOException e1) {
            e1.printStackTrace();
        }
        billede0 = billede1;
        billede1 = billede2;
        billede2 = billede3;
        billede3 = billede4;
        billede4 = billede5;
        billede5 = billede6;
        billede6 = billede7;
        billede7 = billede8;
        billede8 = billede9;
        billede9 = billede10;
        billede10 = billede0;
        repaint();
    }
    public void windowClosed(WindowEvent e) {
        System.exit(0);
    }
    public void windowClosing(WindowEvent e) {
        this.dispose();
    }
    public void windowActivated(WindowEvent e) {
    }
    public void windowDeactivated(WindowEvent e) {
    }
    public void windowIconified(WindowEvent e) {
    }
    public void windowDeiconified(WindowEvent e) {
    }
    public void windowOpened(WindowEvent e) {
    }
}

Men vær gang jeg prøver at add en actionlisterner så får jeg en fejl når jeg compiller
Avatar billede arne_v Ekspert
01. maj 2003 - 23:08 #53
I den her virker "Afslut":

package test;

import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class Rate
    extends Frame
    implements ItemListener, WindowListener, ActionListener {
    private static FileWriter fil;
    private Image billede1,
        billede2,
        billede3,
        billede4,
        billede5,
        billede6,
        billede7,
        billede8,
        billede9,
        billede10,
        billede0;
    private Panel panel1 = new Panel();
    private BorderLayout Layout = new BorderLayout();

    private Checkbox[] checkbox = new Checkbox[5];
    private CheckboxGroup Group = new CheckboxGroup();

    private MenuItem menuItemOm = new MenuItem();
    private MenuItem menuItemAfslut = new MenuItem();

    public Rate() {

        MenuBar menuBar1 = new MenuBar();
        Menu menuFil = new Menu();

        this.setMenuBar(menuBar1);

        menuFil.setLabel("Filer");
        menuItemOm.setLabel("Om Rate a Babe");
        menuItemAfslut.setLabel("Afslut");
        menuFil.add(menuItemOm);
        menuFil.add(menuItemAfslut);
        menuFil.addActionListener(this);
        menuBar1.add(menuFil);

        for (int i = 0; i < checkbox.length; i++) {
            checkbox[i] = new Checkbox();
            checkbox[i].setLabel(Integer.toString(i + 1));
            checkbox[i].setCheckboxGroup(Group);
            checkbox[i].addItemListener(this);
            panel1.add(checkbox[i], null);
        }
        this.setLayout(Layout);

        billede1 = Toolkit.getDefaultToolkit().createImage("pic01.jpg");
        billede2 = Toolkit.getDefaultToolkit().createImage("pic02.jpg");
        billede3 = Toolkit.getDefaultToolkit().createImage("pic03.jpg");
        billede4 = Toolkit.getDefaultToolkit().createImage("pic04.jpg");
        billede5 = Toolkit.getDefaultToolkit().createImage("pic05.jpg");
        billede6 = Toolkit.getDefaultToolkit().createImage("pic06.jpg");
        billede7 = Toolkit.getDefaultToolkit().createImage("pic07.jpg");
        billede8 = Toolkit.getDefaultToolkit().createImage("pic08.jpg");
        billede9 = Toolkit.getDefaultToolkit().createImage("pic09.jpg");
        billede10 = Toolkit.getDefaultToolkit().createImage("pic10.jpg");

        setSize(440, 650); //sætter vinduets bredde og højde//
        setLocation(300, 130); //sætter vinduets position på skærmen//
        setTitle("Rate a Babe"); //sætter vinduets titel//
        this.add(panel1, BorderLayout.SOUTH);
        this.addWindowListener(this);
    }

    public static void main(String[] arg) throws IOException {
        fil = new FileWriter("Point.txt", true);
        Rate r = new Rate();
        r.show();
    }

    public void paint(Graphics g) {
        g.drawImage(billede1, 40, 40, this);
    }
    public void itemStateChanged(ItemEvent e) {
        try {
            for (int i = 0; i < 5; i++) {
                if (e.getSource() == checkbox[i]) {
                    fil.write((i + 1) + ":\n");
                    fil.flush();
                }

            }

        } catch (IOException e1) {
            e1.printStackTrace();
        }
        billede0 = billede1;
        billede1 = billede2;
        billede2 = billede3;
        billede3 = billede4;
        billede4 = billede5;
        billede5 = billede6;
        billede6 = billede7;
        billede7 = billede8;
        billede8 = billede9;
        billede9 = billede10;
        billede10 = billede0;
        repaint();
    }
    public void windowClosed(WindowEvent e) {
        System.exit(0);
    }
    public void windowClosing(WindowEvent e) {
        this.dispose();
    }
    public void windowActivated(WindowEvent e) {
    }
    public void windowDeactivated(WindowEvent e) {
    }
    public void windowIconified(WindowEvent e) {
    }
    public void windowDeiconified(WindowEvent e) {
    }
    public void windowOpened(WindowEvent e) {
    }
    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand() == "Afslut") {
            System.exit(0);
        }
    }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester