package biblioteka_gui;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

/**
 * Klasa dziedziczaca po klasie JFrame, implementujaca interfejs ActionListener
 * <br>Wyswietla liste wszystkich ksiazek w postaci tabeli
 * @author w21826
 *
 */
public class JFrListaKsiazek extends JFrame implements ActionListener
{
	private	JPanel		topPanel;
	private	JTable		table;
	private	JScrollPane scrollPane;

	/**
	 * Konstruktor bezparametrowy tworzacy nowe okno o tytule "Lista ksiazek"
	 * definiujacy rozmiar, polozenie, widocznosc okna i dodajacy do okna obiekt klasy JTable o kolumnach: "Id", "Imię autora", "Nazwisko autora","Tytuł","Rok wydania","Wydawnictwo"
	 *
	 */
	public JFrListaKsiazek()
	{
		// Set the frame characteristics
		setTitle( "Lista książek" );
		setSize( 300, 200 );
		setBackground( Color.gray );

		// Create a panel to hold all other components
		topPanel = new JPanel();
		topPanel.setLayout( new BorderLayout() );
		getContentPane().add( topPanel );

		// Create columns names
		String nazwy_kolumn[] = { "Id", "Imię autora", "Nazwisko autora","Tytuł","Rok wydania","Wydawnictwo","Wypozyczona"};

		Object[][] dane = new Object[JFrGlowne.ksiazki.size()][7];
		for(int i = 0; i < JFrGlowne.ksiazki.size(); i++)
		{
			dane[i][0] = JFrGlowne.ksiazki.get(i).numer_katalogowy;
			dane[i][1] = JFrGlowne.ksiazki.get(i).autor.imie;
			dane[i][2] = JFrGlowne.ksiazki.get(i).autor.nazwisko;
			dane[i][3] = JFrGlowne.ksiazki.get(i).tytul;
			dane[i][4] = JFrGlowne.ksiazki.get(i).wydanie;
			dane[i][5] = JFrGlowne.ksiazki.get(i).wydawnictwo;
			dane[i][6] = JFrGlowne.ksiazki.get(i).wypozyczona;

		}

		
		table = new JTable( dane, nazwy_kolumn );
		table.setAutoCreateColumnsFromModel(false);
		//sortAllRowsBy(nazwy_kolumn, 0, false);

		// Add the table to a scrolling pane
		scrollPane = new JScrollPane( table );
		topPanel.add( scrollPane, BorderLayout.CENTER );
		JFrGlowne.log.info("Wyświetlono listę książek");
		
		this.setSize(800,600);
		this.setVisible(true);
	}

	public void actionPerformed(ActionEvent e)
	{
		
	}

}