Toon posts:

wissen van container (java)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Mijn programmaatje is afgeraakt, doch zit ik met het volgende vervelende probleem. De schuifpuzzel werkt naar behoren, maar wanneer ik bv opnieuw alle vakken wil shuffelen, dan krijg ik een 2e zwart vak. Dit komt denk ik doordat hij de andere vakken nog in de container staan heeft. Is er geen methode om alles in de container de wissen en opnieuw te initialiseren?


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
public void init()
{

 // menu bar opzetten en toevoegen
 JMenuBar bar = new JMenuBar();
 setJMenuBar(bar);

 //toevoegen van menu
 JMenu bestand = new JMenu("Bestand");
 bestand.setMnemonic('B');
 bar.add(bestand);
 // menu items toevoegen

 bestand.add(opnieuw = new JMenuItem("Info", 'I'));
 opnieuw.addActionListener(
     new ActionListener()
     {
         public void actionPerformed(ActionEvent event)
         {
                 JOptionPane.showMessageDialog(null, "Gemaakt door Groep 9 \n Leden: \n Wouter De Saedeleer \n Tavi Troch \n Nadia Tavajjoh \n Séniz Özkan");
         }
     }
     ); //einde actionlistener(info)
 bestand.add(oplossen = new JMenuItem("Opnieuw", 'O'));
  oplossen.addActionListener(
     new ActionListener()
     {
         public void actionPerformed(ActionEvent event)
         {
               plaatsVakken(); //hier probeer ik de methodes opnieuw aan te roepen in een menu, maar dan krijg ik het volgende probleem
               plaatsRandom();
         }
     }
     ); // einde actionlister(Opnieuw spelen)
     bestand.add(exit = new JMenuItem("Afsluiten", 'A'));
  exit.addActionListener(
     new ActionListener()
     {
         public void actionPerformed(ActionEvent event)
         {
             System.exit(0);

         }
     }
);

hier is een screenshot van het resultaat van het uitvoeren van de actie opnieuw.

http://users.pandora.be/desaedeleer/probleem.JPG

Alvast bedankt!

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Erhm, removeAll?
Initialiseren daarna zul je zelf moeten doen...

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

mbv revalidate kan je de layouts opnieuw laten berekenen. En een remove-all vind ik wel een beetje ver gaan. Je zou er trouwens ook voor kunnen kiezen om niet de knopjes te laten bewegen, maar om een update door te geven aan een knopje als er een andere waarde in komt te staan.

Verwijderd

Topicstarter
als ik dus die opdate laat doen zoals je zegt werkt dit, maar dan krijg ik plots 2 zwarte vakken ipv 1, dus ik ga ff die removeall() checken.

Alvst bedankt

Verwijderd

Topicstarter
blijkbaar als ik hierin via dit menuitem(ActionListener) removeAll() aanroep blijft hij hangen. Zie ik iets over het hoofd? doe ik het fout?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
bestand.add(oplossen = new JMenuItem("Opnieuw", 'O'));
  oplossen.addActionListener(
     new ActionListener()
     {
         public void actionPerformed(ActionEvent event)
         {
removeAll();               
plaatsVakken();
plaatsRandom();
 //hier probeer ik de methodes opnieuw aan te roepen in een menu, maar dan krijg ik het volgende probleem
               
         }
     }
     ); // einde actionlister(Opnieuw spelen)

[ Voor 3% gewijzigd door Verwijderd op 09-05-2003 18:11 ]


Verwijderd

Topicstarter
Het is me gelukt zonder remove, ik heb gewoon in de main een methode begin() gezet waarin alle code staat dat eerst in de main stond, zo kan ik alles opnieuw initialiseren. Nu nog het probleem oplossen om iconen op mijn buttons te zetten.
Pagina: 1