/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.gui; import net.codjo.utils.sql.DbToolBar; import net.codjo.utils.sql.GenericTable; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.Font; import javax.swing.BorderFactory; import javax.swing.JDesktopPane; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.event.TableModelListener; /** * Affiche une fen�tre comportant une g�n�rique table (�cran liste). * * @version $Revision: 1.3 $ * * */ public class TableViewWindow extends JInternalFrame { private JPanel topPanel = new JPanel(); private JLabel titleLabel = new JLabel(); private JScrollPane tableScrollPane = new JScrollPane(); private JDesktopPane gexPane; private GenericTable genericTable; private String whereClauseForFind; private ToolBarBuilder toolBarBuilder; /** * Constructeur. * * @param dp Le desktopPane. * @param gt La table qui "dirige" l'action. * @param whereClause La clause where par d�faut pour le requ�teur. * @param toolBar Le constructeur de la toolBar. */ public TableViewWindow(JDesktopPane dp, GenericTable gt, String whereClause, ToolBarBuilder toolBar) { super("Table " + gt.getTable(), true, true, true, true); gexPane = dp; genericTable = gt; whereClauseForFind = whereClause; toolBarBuilder = toolBar; jbInit(); } /** * Init GUI. */ private void jbInit() { // Init Frame setDefaultCloseOperation(javax.swing.JFrame.DISPOSE_ON_CLOSE); getContentPane().setLayout(new BorderLayout(0, 0)); setSize(700, 500); // Top topPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5)); titleLabel.setText("Visualisation des donn�es : " + genericTable.getNumberOfFirstRow() + " � " + genericTable.getNumberOfLastRow() + " sur " + genericTable.getNumberOfRows() + " enregistrements"); titleLabel.setFont(new Font("Dialog", Font.BOLD, 12)); topPanel.add(titleLabel); // Center genericTable.getModel().addTableModelListener(new TableModelListener() { /** * DOCUMENT ME! * * @param evt Description of Parameter */ public void tableChanged(javax.swing.event.TableModelEvent evt) { titleLabel.setText("Visualisation des donn�es : " + genericTable.getNumberOfFirstRow() + " � " + genericTable.getNumberOfLastRow() + " sur " + genericTable.getNumberOfRows() + " enregistrements"); } }); tableScrollPane.setBorder(BorderFactory.createEtchedBorder()); tableScrollPane.getViewport().add(genericTable); // Bottom DbToolBar bottomToolBar = toolBarBuilder.getToolBar(gexPane, this, genericTable, whereClauseForFind, whereClauseForFind, true); // Assemblage getContentPane().add(topPanel, BorderLayout.NORTH); getContentPane().add(tableScrollPane, BorderLayout.CENTER); getContentPane().add(bottomToolBar, BorderLayout.SOUTH); } }