Hallo,
Ich habe vor Kurzem mit Java begonnen und stehe jetzt vor einem für mich unlösbarem Problem. Ich habe eine JList mit einem Defaultlistmodel. Die beiden sind durch .setModel verbunden und alles wunderbar. Wenn ich meinem DefaultListModel Elemente hinzufüge per .addElement('Element') wird es im DefaultListModel gespeichert (was ich mir bereits ausgeben habe lassen) aber in der JList nicht angezeigt. Hoffe einer von den Experten hier weiß mehr als ich. Danke schonmal im vorraus
.
Hier der Code:
Ps.: Sorry für so viel Code aber besser mehr als zu wenig
und wundert euch nicht dass die Methode schreiben, um die es eigentlich geht, nicht aufgerufen wird. Das ist nicht der Fehler das passiert nämlich aus einer anderen Klasse und funktioniert wunderbar. Das betroffene DefaultListModel ist die DateienList und die JList Dateien. .revalidate und .repaint schon ausprobiert hilft alles nichts.
Ich habe vor Kurzem mit Java begonnen und stehe jetzt vor einem für mich unlösbarem Problem. Ich habe eine JList mit einem Defaultlistmodel. Die beiden sind durch .setModel verbunden und alles wunderbar. Wenn ich meinem DefaultListModel Elemente hinzufüge per .addElement('Element') wird es im DefaultListModel gespeichert (was ich mir bereits ausgeben habe lassen) aber in der JList nicht angezeigt. Hoffe einer von den Experten hier weiß mehr als ich. Danke schonmal im vorraus

Hier der Code:
Java:
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JList;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import java.awt.Font;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.ArrayList;
import java.util.Vector;
import java.awt.event.ActionEvent;
import javax.swing.JTextField;
public class MAIN extends JFrame {
private JPanel contentPane;
private DefaultListModel<String> FachAuswahl = new DefaultListModel<String>();
private JTextField tfumbenennen;
private DefaultListModel<String> DateienList = new DefaultListModel<String>();
private JList<String> Dateien;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MAIN frame = new MAIN();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MAIN() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 729, 493);
setTitle("FileManager");
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
Dateien = new JList<String>();
Dateien.setFont(new Font("Tahoma", Font.PLAIN, 15));
Dateien.setBounds(38, 46, 189, 98);
Dateien.setModel(DateienList);
JScrollPane scrollPane_1 = new JScrollPane();
scrollPane_1.setBounds(38, 43, 192, 100);
contentPane.add(scrollPane_1);
scrollPane_1.setViewportView(Dateien);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(454, 43, 191, 100);
contentPane.add(scrollPane);
JList<String> list = new JList<String>();
list.setFont(new Font("Tahoma", Font.PLAIN, 15));
list.setBounds(537, 384, -134, -89);
list.setModel(FachAuswahl);
scrollPane.setViewportView(list);
FachAuswahl.addElement("Englisch");
FachAuswahl.addElement("FIT");
FachAuswahl.addElement("Deutsch");
FachAuswahl.addElement("Geografie");
FachAuswahl.addElement("Geschichte");
FachAuswahl.addElement("Religion");
FachAuswahl.addElement("Französisch");
FachAuswahl.addElement("Latein");
FachAuswahl.addElement("Physik");
FachAuswahl.addElement("Musik");
FachAuswahl.addElement("Mathematik");
FachAuswahl.addElement("Biologie");
FachAuswahl.addElement("Sonstiges");
JLabel lblFachordnerZumVerschieben = new JLabel("Fach/Ordner ausw\u00E4hlen");
lblFachordnerZumVerschieben.setBounds(455, 24, 151, 16);
contentPane.add(lblFachordnerZumVerschieben);
JButton btnCancel = new JButton("Cancel");
btnCancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
btnCancel.setBounds(12, 384, 121, 34);
contentPane.add(btnCancel);
JButton button = new JButton("OK");
button.setBounds(578, 384, 121, 34);
contentPane.add(button);
tfumbenennen = new JTextField();
tfumbenennen.setBounds(454, 195, 152, 22);
contentPane.add(tfumbenennen);
tfumbenennen.setColumns(10);
JLabel lblFileUmbenennen = new JLabel("File umbenennen");
lblFileUmbenennen.setBounds(454, 173, 152, 16);
contentPane.add(lblFileUmbenennen);
JButton btnFileLschen = new JButton("File l\u00F6schen");
btnFileLschen.setBounds(457, 246, 121, 25);
contentPane.add(btnFileLschen);
JButton btnSettings = new JButton("Settings");
btnSettings.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Settings.main(null);
}
});
btnSettings.setBounds(313, 389, 97, 25);
contentPane.add(btnSettings);
JLabel lblDateienInZielordner = new JLabel("Dateien in Zielordner");
lblDateienInZielordner.setBounds(38, 24, 175, 16);
contentPane.add(lblDateienInZielordner);
}
public void schreiben() {
File verzeichnis;
FileTest ft = new FileTest();
verzeichnis = new File(ft.Path);
for (String File: verzeichnis.list()) {
DateienList.addElement(File);
}
}
}
Ps.: Sorry für so viel Code aber besser mehr als zu wenig
