package Benutzeroberfläche;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.io.File;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTree;
import javax.swing.table.DefaultTableModel;
public class FileTreeFrame extends JFrame {
private JTextArea detailsTextArea = new JTextArea();
public FileTreeFrame(String directory) {
super("DataSailor");
detailsTextArea.setEditable(false);
final JTree tree = new DatenTree();
tree.setEditable(true);
final JTable table = getTable((File) tree.getLastSelectedPathComponent());
Listener.MyTreeSelectionListener tsl = new Listener.MyTreeSelectionListener(table,tree);
tree.addTreeSelectionListener(tsl);
JPanel inner = new JPanel();
inner.setLayout(new GridLayout(1, 2, 10, 0));
JButton kopieren = new JButton("Kopieren");
JButton loeschen =new JButton("Löschen");
JButton einfuegen =new JButton("Einfügen");
JButton umbenennen =new JButton("Umbenennen");
JLabel label = new JLabel("DataSailor");
label.setAlignmentY(RIGHT_ALIGNMENT);
label.setFont(new Font("Verdana",Font.BOLD,24));
label.setBackground(Color.BLUE);
inner.add(kopieren);
inner.add(einfuegen);
inner.add(loeschen);
inner.add(umbenennen);
inner.add(label);
Listener.MyButtonListener bl = new Listener.MyButtonListener(kopieren, einfuegen, loeschen, umbenennen);
kopieren.addActionListener(bl);
einfuegen.addActionListener(bl);
loeschen.addActionListener(bl);
umbenennen.addActionListener(bl);
JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, new JScrollPane(tree), new JScrollPane(table));
java.awt.Container pane = getContentPane();
pane.setLayout(new BorderLayout());
pane.add(inner, BorderLayout.NORTH);
pane.add(splitPane, BorderLayout.CENTER);
pane.add(detailsTextArea, BorderLayout.SOUTH);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(800, 600);
setLocation(250,100);
setVisible(true);
}
protected JTable getTable(File file){
Vector columnNames = new Vector();
columnNames.addElement("Name");
columnNames.addElement("Größe");
columnNames.addElement("zuletzt geändert");
Vector fl = new Vector();
fl.addElement(new Vector());
{ "2-1", "2-2", "2-3", "2-4" } };
JTable table = new JTable(fl, columnNames);
table.getRowSorter();
return table;
}
public static void updateTabelModel(JTable table, File file) {
Vector columnNames = new Vector();
columnNames.addElement("Name");
columnNames.addElement("Größe");
columnNames.addElement("zuletzt geändert");
Vector fl = new Vector();
if(file.isDirectory()){
File[] files = file.listFiles();
for (int ast = 0; ast < files.length; ast++) {
Vector fileRow = new Vector();
fileRow.addElement(files[ast].getName());
fileRow.addElement(files[ast].length());
fileRow.addElement(files[ast].lastModified());
fl.addElement(fileRow);
}
DefaultTableModel dmt = new DefaultTableModel(fl, columnNames);
table.setModel(dmt);
}
}
}