import java.awt.BorderLayout;
import java.awt.DisplayMode;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.io.File;
import java.util.Date;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class ContentInfo extends JFrame {
final JTextField field = new JTextField(20);
final JTextArea area = new JTextArea();
final String pathname = field.getText();
final JScrollPane pane = new JScrollPane(area);
public static void main(String[] args) {
new ContentInfo("目录查看器");
}
public ContentInfo(String title) {
super(title);
area.setLineWrap(true);
area.setEditable(false);
field.setText(pathname);
field.addFocusListener(new FocusAdapter() {
public void focusLost(FocusEvent e) {
area.setText(info(field.getText()));
}
@Override
public void focusGained(FocusEvent e) {
field.setText("");
area.setText("");
}
});
add(field, BorderLayout.NORTH);
add(pane, BorderLayout.CENTER);
GraphicsDevice device = GraphicsEnvironment
.getLocalGraphicsEnvironment().getDefaultScreenDevice();
DisplayMode mode = device.getDisplayMode();
setBounds(0, 0, mode.getWidth(), mode.getHeight());
show();
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
private String info(String pathname) {
StringBuffer buffer = new StringBuffer();
File file = new File(pathname);
File[] files;
if (file.isDirectory()) {
files = file.listFiles();
for (int i = 0; i < files.length; i++) {
buffer.append(new Date(files[i].lastModified()) + "\t\t");
if (files[i].isDirectory()) {
buffer.append("<DIR>\t");
} else {
buffer.append(files[i].length() + "\t");
}
buffer.append(files[i].getName() + "\n");
}
}
return buffer.toString();
}
}