H
hoobnb1
Gast
Ich hab folgendes Problem:
Möchte aus einem Ordner("modules") dynamisch die Namen der in diesem Ordner enthaltenen Dateien auslesen.(Das sind später 4-5 .exe Programme) Das schaff ich auch mithilfe der dir.list();
Diese Programme möchte ich jetzt mithilfe von JButtons, die jeweils den Namen der versch. Programme haben, aufrufen.
Mein Problem: Wie bringe ich es zusammen, dass Java die namen der Files auf meine Buttons überträgt.
Habs zwar schon probiert die Fenstererzeugung in die for-Schleife hineinzukopiern, dann haben die Buttons zwar den richtigen Namen, aber Java macht 4 Fenster auf..
Kann mir wer weiterhelfen..
Hier der Quelltext:
Möchte aus einem Ordner("modules") dynamisch die Namen der in diesem Ordner enthaltenen Dateien auslesen.(Das sind später 4-5 .exe Programme) Das schaff ich auch mithilfe der dir.list();
Diese Programme möchte ich jetzt mithilfe von JButtons, die jeweils den Namen der versch. Programme haben, aufrufen.
Mein Problem: Wie bringe ich es zusammen, dass Java die namen der Files auf meine Buttons überträgt.
Habs zwar schon probiert die Fenstererzeugung in die for-Schleife hineinzukopiern, dann haben die Buttons zwar den richtigen Namen, aber Java macht 4 Fenster auf..
Kann mir wer weiterhelfen..
Hier der Quelltext:
Code:
import java.awt.*;
import javax.swing.*;
import java.io.*;
public class Test
{ public static void main (String args[])
{
//Initialisieren
Test dp = new Test();
dp.zeichnen();
dp.init();
}
public void init() {
File dir = new File("modules");
String[] children = dir.list();
for (int i=0; i<children.length; i++) {
// Get filename of file or directory
String filename = children[i];
}
}
public void zeichnen(){
//Erzeuge Fenster
JFrame F = new JFrame();
F.setTitle("Test");
F.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
F.setSize(500,300);
// Setze Layout:
F.setLayout(new BorderLayout());
//Die Buttons
JPanel p = new JPanel();
p.add(new JButton(children[0]));
p.add(new JButton(children[1]));
p.add(new JButton(children[2]));
p.add(new JButton(children[3]));
F.add("Center",p);
// Anzeigen:
F.setVisible(true);
}
}