Hoi,
Om een Java-applicatie te maken (te vergelijken met een simpele tekstverwerker) gebruik ik de volgende klasse:
Nu zorgt de "FileHandler()" instantie ervoor dat er een lijst met JButtons tevoorschijn komt waarbij elke button een bestand uit de uitgelezen directory voorstelt. Deze code ziet er als volgt uit:
Wanneer er nu een bestand bijkomt of weggaat uit de uitgelezen directory, wil ik graag dat deze instantie opnieuw wordt aangeroepen, of dus eigenlijk wordt herladen.
Nu heb ik geprobeerd een 'refresh'-button te maken (niet de mooiste oplossing) waarmee ik 'revalidate()' aanroep in mijn FileHandler(). Helaas levert dit geen resultaat.
Kan iemand mij vertellen in welke richting ik moet denken om dit werkend te krijgen?
Om een Java-applicatie te maken (te vergelijken met een simpele tekstverwerker) gebruik ik de volgende klasse:
Java:
1
2
3
4
5
6
7
8
9
10
| // BorderLayout class BorderLayoutPanel extends JPanel { public BorderLayoutPanel(){ setLayout(new BorderLayout()); add(new TekstVak(), BorderLayout.CENTER); add(new FileHandler(), BorderLayout.WEST); add(new Bediening(), BorderLayout.SOUTH); } } |
Nu zorgt de "FileHandler()" instantie ervoor dat er een lijst met JButtons tevoorschijn komt waarbij elke button een bestand uit de uitgelezen directory voorstelt. Deze code ziet er als volgt uit:
Java:
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
| public class FileHandler extends JPanel { public static List<JButton> files; public ReadFile openbestand; public JButton refresh; File folder = new File("/Users/user/Documents/workspace/textedit"); File[] listOfFiles = folder.listFiles(); public FileHandler(){ refresh = new JButton("refresh"); add(refresh); files = new ArrayList<JButton>(); setLayout(new GridLayout(10,10)); for (int i = 0; i < listOfFiles.length; i++) { if (listOfFiles[i].isFile()) { JButton button = new JButton(listOfFiles[i].getName()); files.add(button); button.addActionListener(new KnopHandler()); add(button); } } } class KnopHandler implements ActionListener{ public void actionPerformed(ActionEvent e){ String bestand = ((AbstractButton) e.getSource()).getText(); if (bestand == "refresh"){ revalidate(); } else { openbestand = new ReadFile(bestand); TekstVak.setBox(bestand, ReadFile.getInhoud()); Bediening.naam.setText(bestand); } } } } |
Wanneer er nu een bestand bijkomt of weggaat uit de uitgelezen directory, wil ik graag dat deze instantie opnieuw wordt aangeroepen, of dus eigenlijk wordt herladen.
Nu heb ik geprobeerd een 'refresh'-button te maken (niet de mooiste oplossing) waarmee ik 'revalidate()' aanroep in mijn FileHandler(). Helaas levert dit geen resultaat.
Kan iemand mij vertellen in welke richting ik moet denken om dit werkend te krijgen?