niekfct
Terugkerende gebruiker
- Lid geworden
- 19 jul 2006
- Berichten
- 1.563
Dag Helpers,
Ik heb een probleem in mijn programma. Ik wil een variabel aantal TrackPanels (extends JPanel) laten zien in een JScrollpanel. Wanneer ik JCheckBoxes aanklik in die TrackPanels, en vervolgens op een knop druk, moeten de aangevinkte TrackPanels verdwijnen.
Wat ik doe:
De eerste keer, als de cache niet leeg is, komt de volledige cache in beeld (als TrackPanels). Als ik de cache leeg door alle checkboxes aan te klikken en op de verwijderknop te drukken, verdwijnt alles, maar verschijnt de nieuwe "Test" TrackPanel niet (De JPanel trackPanel blijft leeg). Wanneer ik echter het venster minimaliseer, en weer tevoorschijn tover, staat deze "Test" er wel.. Ook het toevoegen van de vele repaints werkt ook niet..
Heeft iemand een idee?
[Screenshot 1] Begin. Na het klikken op de checkbox en op delete selected komen we in [Screenshot 2]. Nu moet er dus het beeld ontstaan zoals in [Screenshot 3], screenshot 3 ontstaat na het minimaliseren en de-minimaliseren (ofzoiets).
Ik heb een probleem in mijn programma. Ik wil een variabel aantal TrackPanels (extends JPanel) laten zien in een JScrollpanel. Wanneer ik JCheckBoxes aanklik in die TrackPanels, en vervolgens op een knop druk, moeten de aangevinkte TrackPanels verdwijnen.
Wat ik doe:
Code:
public void refresh()
{
trackPanel.removeAll(); //JPanel trackPanel zit in een JScrollPane.
trackPanels = new ArrayList<TrackPanel>(); //Leeg de lijst met TrackPanels.
for (int i = 0; i < cache.size(); i++) //Voeg voor elk object in cache (ArrayList) een trackPanel toe aan de JPanel
{
TrackPanel tp = new TrackPanel(cache.get(i), getWidth());
trackPanels.add(tp); //Toevoegen aan lijst
trackPanel.add(tp); //Toevoegen aan JPanel
}
System.out.println(cache.size());
if (cache.size() == 0) //Wanneer de cache leeg is, laat een bericht zien dat deze leeg is.
{
trackPanel.add(new TrackPanel(new Track("test", "test", "9"), getWidth()));
}
//Het volgende werkt ook niet.
repaint();
trackPanel.repaint();
for (int i = 0; i < trackPanels.size(); i++)
{
trackPanels.get(i).repaint();
System.out.println("repainting");
}
}
De eerste keer, als de cache niet leeg is, komt de volledige cache in beeld (als TrackPanels). Als ik de cache leeg door alle checkboxes aan te klikken en op de verwijderknop te drukken, verdwijnt alles, maar verschijnt de nieuwe "Test" TrackPanel niet (De JPanel trackPanel blijft leeg). Wanneer ik echter het venster minimaliseer, en weer tevoorschijn tover, staat deze "Test" er wel.. Ook het toevoegen van de vele repaints werkt ook niet..
Heeft iemand een idee?
[Screenshot 1] Begin. Na het klikken op de checkbox en op delete selected komen we in [Screenshot 2]. Nu moet er dus het beeld ontstaan zoals in [Screenshot 3], screenshot 3 ontstaat na het minimaliseren en de-minimaliseren (ofzoiets).
Bijlagen
Laatst bewerkt: