package demo46; import javax.swing.*; import org.openswing.swing.client.*; import java.awt.*; import org.openswing.swing.table.columns.client.*; import org.openswing.swing.lookup.client.LookupController; import java.sql.*; import java.awt.event.*; import org.openswing.swing.table.java.*; import java.awt.event.ActionEvent; import javax.swing.ListSelectionModel; import org.openswing.swing.util.client.ClientSettings; import org.openswing.swing.customvo.client.*; import org.openswing.swing.customvo.java.*; import org.openswing.swing.customvo.server.*; import java.util.ArrayList; /** * <p>Title: OpenSwing Framework</p> * <p>Description: Frame that contains a filter used to open a grid defined at run time.</p> * <p>Copyright: Copyright (C) 2006 Mauro Carniel</p> * <p> </p> * @author Mauro Carniel * @version 1.0 */ public class FilterFrame extends JFrame { JPanel topPanel = new JPanel(); JPanel filterPanel = new JPanel(); GridBagLayout gridBagLayout1 = new GridBagLayout(); GridBagLayout gridBagLayout2 = new GridBagLayout(); private Connection conn = null; LabelControl labelSQL = new LabelControl(); TextAreaControl controlSQL = new TextAreaControl(); JButton buttonExecute = new JButton(); private GridFrame frame = null; public FilterFrame(Connection conn) { super.setDefaultCloseOperation(super.EXIT_ON_CLOSE); this.conn = conn; try { jbInit(); setSize(750,120); setTitle(ClientSettings.getInstance().getResources().getResource("filter panel")); controlSQL.setValue("select YEAR,ORDER_NR,CUSTOMER,ORDER_DATE,TOTAL_AMOUNT from ORDERS"); setLocation((int)Toolkit.getDefaultToolkit().getScreenSize().width/2-350,100); setVisible(true); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { topPanel.setLayout(gridBagLayout1); filterPanel.setLayout(gridBagLayout1); buttonExecute.addActionListener(new FilterFrame_buttonExecute_actionAdapter(this)); topPanel.add(filterPanel, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0 ,GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH, new Insets(5, 5, 5, 0), 0, 0)); filterPanel.add(labelSQL, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0 ,GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 0), 0, 0)); filterPanel.add(controlSQL, new GridBagConstraints(1, 0, 1, 2, 1.0, 1.0 ,GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH, new Insets(5, 5, 5, 5), 0, 0)); filterPanel.add(buttonExecute, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0 ,GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); buttonExecute.setText(ClientSettings.getInstance().getResources().getResource("load data")); this.getContentPane().add(topPanel, BorderLayout.CENTER); } void buttonExecute_actionPerformed(ActionEvent e) { String sql = (String)controlSQL.getValue(); try { if (sql!=null && !sql.equals("")) { if (frame!=null) { frame.setVisible(false); } // show frame... frame = new GridFrame(conn,sql); frame.setLocation(this.getLocation().x,this.getLocation().y+this.getHeight()); } } catch (Throwable ex) { ex.printStackTrace(); } } } class FilterFrame_buttonExecute_actionAdapter implements java.awt.event.ActionListener { FilterFrame adaptee; FilterFrame_buttonExecute_actionAdapter(FilterFrame adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.buttonExecute_actionPerformed(e); } }