Hi zusammen, bin neu hier im Forum 
Ich habe zur Zeit ein Projekt an der Arbeit bei dem ich Textdateien in ein Array schreibe und dann in einer JList ausgeben will / soll. Leider scheiter ich schon daran. Hoffe mir kann jemand weiterhelfen. Ist sicher wieder was einfaches aber ich sehe es leider nicht.
in der ersten Klasse bau ich mein Frame auf und hier soll auch die JList erzeugt werden. Wie bekomme ich ein Array hier rein, was in der nächste Klasse unten bereits vorhanden ist? und vllt auch im nächsten schritt, wie füge ich das einer JList zu.
Hier liegt mein Array drinne:
Danke
Ich habe zur Zeit ein Projekt an der Arbeit bei dem ich Textdateien in ein Array schreibe und dann in einer JList ausgeben will / soll. Leider scheiter ich schon daran. Hoffe mir kann jemand weiterhelfen. Ist sicher wieder was einfaches aber ich sehe es leider nicht.
in der ersten Klasse bau ich mein Frame auf und hier soll auch die JList erzeugt werden. Wie bekomme ich ein Array hier rein, was in der nächste Klasse unten bereits vorhanden ist? und vllt auch im nächsten schritt, wie füge ich das einer JList zu.
Java:
import java.io.File;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.ListSelectionModel;
public class Software extends JFrame {
private static final long serialVersionUID = 1L;
//JTable table;
static JButton openTree;
static JLabel chosenPath;
static JLabel path;
static JList liste;
DefaultListModel listModel;
File[] array;
SoftwareListener Test;
public Software()
{
setSize(800, 600);
setLocationRelativeTo(null);
setResizable(false);
setVisible(true);
setTitle("Bitte wählen Sie eine Datei aus");
setLayout(null);
chosenPath = new JLabel("Gewählter Pfad");
chosenPath.setBounds(140, 10, 150, 40);
add(chosenPath);
path = new JLabel("");
path.setBounds(300, 10, 400, 40);
add(path);
openTree = new JButton("Pfad wählen");
openTree.addActionListener(new SoftwareListener(path));
openTree.setBounds(10, 10, 110, 30);
add(openTree);
liste = new JList();
listModel = new DefaultListModel();
liste.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
liste.setBounds(20, 60, 600, 500);
add(liste);
}
public static void main(String[] args) {
JFrame fenster = new Software();
}
}
Hier liegt mein Array drinne:
Java:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileFilter;
import javax.swing.AbstractAction;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.border.Border;
public class SoftwareListener implements ActionListener {
JLabel lbl;
JList liste;
JFrame Software;
private File[] list;
SoftwareListener(JLabel lbl) {
this.lbl = lbl;
}
public File[] getList(){
return list;
}
public void setList(File[] list){
this.list=list;
}
@Override
public void actionPerformed(ActionEvent e) {
final JFrame f = new JFrame("Datei auswählen");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String pattern = "[0-9]{3}.text";
final FileTree chooser = new FileTree();
chooser.setFileFilter(FileTree.DIRECTORY_FILTER);
JScrollPane scrp = new JScrollPane(chooser);
Border empty = BorderFactory.createEmptyBorder(5, 5, 2, 5);
scrp.setBorder(BorderFactory.createCompoundBorder(empty, scrp.getBorder()));
JPanel bottom = new JPanel(new FlowLayout(FlowLayout.RIGHT));
bottom.add(new JButton(new AbstractAction("OK") {
@Override
public void actionPerformed(ActionEvent e) {
File file = chooser.getSelectedFile();
list = file.listFiles();
String text = "'" + file + "'";
if (file == null) {
text = "nix";
}
lbl.setText(text);
f.dispose();
}
}));
f.add(scrp);
f.add(bottom, BorderLayout.SOUTH);
f.setSize(300, 400);
f.setLocationRelativeTo(null);
f.setVisible(true);
}
}
Danke