Hallo,
ich versuche gerade einen SelectionListener zu bauen der dafür sorgt, dass die txt bzw. html Dateien im unteren JScrollPane angezeigt werden. Die Dateiausgabe wollte ich so realisieren:
Aber ich habe schon Probleme bei den Basics. In Zeile 20 wirft Eclipse den Fehler: "SelectionListener cannot be resolved to a type" aus.
ich versuche gerade einen SelectionListener zu bauen der dafür sorgt, dass die txt bzw. html Dateien im unteren JScrollPane angezeigt werden. Die Dateiausgabe wollte ich so realisieren:
Java:
public static void main(String[] args)
{
FileReader f;
int c;
try {
f = new FileReader("D:\\SYS\\windows7.html");
while ((c = f.read()) != -1) {
System.out.print((char)c);
}
f.close();
} catch (IOException e) {
System.out.println("Fehler beim Lesen der Datei");
}
}
Aber ich habe schon Probleme bei den Basics. In Zeile 20 wirft Eclipse den Fehler: "SelectionListener cannot be resolved to a type" aus.
Java:
import javax.swing.*;
import javax.swing.table.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.util.Date;
public class FileTableDemo {
public static void main(String[] args) {
// directory
File dir = new File(System.getProperty("user.home"));
// TableModel
FileTableModel model = new FileTableModel(dir);
// JTable
JSplitPane sp = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
sp.setLeftComponent(new JScrollPane(new JTable(model)));
sp.addSelectionListener(new SelectionListener() {
public void mouseClicked(SelectionEvent e) {
System.out.println("Klappt");
}
});
sp.setRightComponent(new JScrollPane(new JTable()));
// Fenster
JFrame frame = new JFrame("FileTableDemo");
frame.getContentPane().add(new JScrollPane(sp), "Center");
frame.setSize(1024, 800);
frame.setVisible(true);
}
}
class FileTableModel extends AbstractTableModel {
protected File dir;
protected String[] filenames;
protected String[] columnNames = new String[] { "name", "size",
"last modified", "directory?", "readable?", "writable?" };
protected Class[] columnClasses = new Class[] { String.class, Long.class,
Date.class, Boolean.class, Boolean.class, Boolean.class };
public FileTableModel(File dir) {
this.dir = dir;
this.filenames = dir.list();
}
// Anzahl Spalten
public int getColumnCount() {
return 5;
}
// Anzahl Fils im Verzeichnis
public int getRowCount() {
return filenames.length;
}
// Informationen
public String getColumnName(int col) {
return columnNames[col];
}
public Class getColumnClass(int col) {
return columnClasses[col];
}
public Object getValueAt(int row, int col) {
File f = new File(dir, filenames[row]);
switch (col) {
case 0:
return filenames[row];
case 1:
return new Long(f.length());
case 2:
return new Date(f.lastModified());
case 3:
return f.canRead() ? Boolean.TRUE : Boolean.FALSE;
case 4:
return f.canWrite() ? Boolean.TRUE : Boolean.FALSE;
default:
return null;
}
}
}