Avatar billede thewizard Nybegynder
30. juli 2009 - 19:41 Der er 2 kommentarer og
1 løsning

JApplet GUI click-bug? Hurtigt spørgsmål for de gode :).

Jeg kan ikke poste alt kode, så i får nogen snips:

//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
public void init() {
        //Execute a job on the event-dispatching thread:
        //creating this applet's GUI.
        try {
            javax.swing.SwingUtilities.invokeAndWait(new Runnable() {
                public void run() {
                    receiveData();
                }
            });
        } catch (Exception e) {
            System.out.println(e);
        }
    }
//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
receiveData() modtager data, og fylder arrFields (public array) - data er JPanel-"Fields", som bare holder X/Y-coordinat og Farve.

receiveData() kalder så createGUI()
//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
public void createGUI() {
       
        Container contentPane = getContentPane();
        contentPane.removeAll();
       
        JPanel grid = new JPanel();
        grid.setLayout(new GridLayout(5, 5, 0, 0));

        for (int i=0;i<arrFields.size();i++){
            arrFields.get(i).addMouseListener(this);
            grid.add(arrFields.get(i));       
        }
       
        contentPane.add("Center", grid);

        setVisible(true);
    }

//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
Så nu har vi et grid, som er 5x5, og fyldt op med fields ... Virker, og ser pænt ud!

Som i kan se, har alle fields fået en mouselistener på sig.
//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------
mousePressed-funtionen har følgende kode:
((Field) e.getSource()).pressed(selectedColor);

Som bare ændrer background-farven på det markede Field-object.
Avatar billede thewizard Nybegynder
30. juli 2009 - 19:43 #1
Okay glemte at fortælle hvad problemet var.

Jeg kan klikke på GUI'en, og farven på feltet ændrer sig. Derefter sender JAppleten dataene (at der er trykket på det felt) til databasen, og modtager data igen - og tegner GUI igen.

Derefter virker GUI ikke længere. Hvis jeg minimerer JAppletten (i Eclipse), og maximere igen, virker GUI igen.

Grimt? Ja tak.
Avatar billede arne_v Ekspert
31. juli 2009 - 02:44 #2
Det er svært at gennemskue kode fragmenter.

Kan du koge din store kode ned til en lille demo kode som viser problemet ?
Avatar billede thewizard Nybegynder
02. august 2009 - 07:53 #3
Jeg har fundet "fejlen"...

"validate();"

Whatever det betyder oO
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