Avatar billede jens123 Nybegynder
19. oktober 2001 - 13:20 Der er 1 kommentar og
1 løsning

knap events

Jeg er ved at lave nogle forsøg med java, for at lærere det bedre at kende, jeg kan bare ikke få den til at ændre en værdi i en string, ved at trykke på en knap. Og så med paint. Jeg hat lavet html dokumentet.

nogen der kan se hvad der er forkert.

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class knap extends JApplet
{
String jens;
int antal;

JButton Panikknap = new JButton(\"PANIK\");


public void init()
{
Container felt = getContentPane();
FlowLayout flo = new FlowLayout();
felt.setLayout(flo);
felt.add(Panikknap);
}


public void paint(Graphics screen) {
        super.paint(screen);
        Graphics2D screen2D = (Graphics2D) screen;
antal = antal + 1;       

screen2D.drawString(jens,5,60);
}


public void actionPerformed(ActionEvent evt)
{
Object source = evt.getSource();
if (source == \"Panikknap\")
{
jens = \"mojn mojn\";

}
}
}

Avatar billede mipe1 Nybegynder
19. oktober 2001 - 13:35 #1
Du skal tilføje en actionListener til din knap

metoden actionePerformed er en abstract metode på actionListener og den skal rigtigt nok du har gjort implementeres

du kan udvide med følgende
public class knap extends JApplet implements ActionListener{

og til din knap skal du så tilføje din actioneListener, dvs

panikKnap.addActionListener(this);
så vil din actionPerformed blive kaldt ved tryk på denne

Men jeg tror også at skal kalde repaint() efter du har opdateret din streng, så paint bliver kaldt igen og ændringen dermed fremgår af skærmen
Avatar billede jens123 Nybegynder
19. oktober 2001 - 14:44 #2
mange tak for hjælpen
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