import java.awt.*;
import javax.swing.*;
import java.util.ArrayList;
import java.io.*;
import javax.swing.border.*;
public class InvalidMoviesPanel extends JPanel
{
public InvalidMoviesPanel()
{
super(new BorderLayout(0,20));
ArrayList invalidMovies = null;
// GUI Elements
JTable table = null;
JPanel message = new JPanel();
message.setBorder(new EtchedBorder(EtchedBorder.LOWERED));
// Load the movie definitions
try
{
FileInputStream fin = new FileInputStream("error.log");
ObjectInputStream ois = new ObjectInputStream(fin);
invalidMovies = (ArrayList)ois.readObject();
ois.close();
}
catch (Exception e)
{
message.add(new JLabel("There are no invalid lines in the movie database."));
add(message, BorderLayout.NORTH);
return;
}
message.add(new JLabel("We have to fix these ones"));
// Generate JTable output
String[] columnNames = {"Line Number", "Message", "Bogus Field"};
Object[][] fields = new Object[invalidMovies.size()][columnNames.length];
for(int i = 0; i < invalidMovies.size(); i++)
{
InvalidMovie m = (InvalidMovie)invalidMovies.get(i);
fields[i][0] = m.getLineNumber();
fields[i][1] = m.getReason();
fields[i][2] = m.getInvalidData();
}
table = new JTable(fields, columnNames);
table.setPreferredScrollableViewportSize(new Dimension(500, 300));
// Add the elements to the panel
add(message, BorderLayout.NORTH);
add(new JScrollPane(table), BorderLayout.CENTER);
}
} Powered by
GeSHi Syntax Highlighting software.
Author of all (other) material unless otherwise specified:
Loren Segal. Copyright 2005.