home *** CD-ROM | disk | FTP | other *** search
- import com.sun.java.swing.BoxLayout;
- import com.sun.java.swing.Icon;
- import com.sun.java.swing.JButton;
- import com.sun.java.swing.JComponent;
- import com.sun.java.swing.JFrame;
- import com.sun.java.swing.JLabel;
- import com.sun.java.swing.JOptionPane;
- import com.sun.java.swing.JPanel;
- import com.sun.java.swing.JScrollPane;
- import com.sun.java.swing.JTable;
- import com.sun.java.swing.JTextArea;
- import com.sun.java.swing.JTextField;
- import com.sun.java.swing.border.BevelBorder;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.GridLayout;
- import java.awt.LayoutManager;
- import java.awt.Rectangle;
-
- public class TableExample2 implements LayoutManager {
- static String[] ConnectOptionNames = new String[]{"Connect"};
- static String ConnectTitle = "Connection Information";
- Dimension origin = new Dimension(0, 0);
- JButton fetchButton;
- JButton showConnectionInfoButton;
- JPanel connectionPanel;
- JFrame frame;
- JLabel userNameLabel;
- JTextField userNameField;
- JLabel passwordLabel;
- JTextField passwordField;
- JTextArea queryTextArea;
- JComponent queryAggregate;
- JLabel serverLabel;
- JTextField serverField;
- JLabel driverLabel;
- JTextField driverField;
- JPanel mainPanel = new JPanel();
- TableSorter sorter;
- JDBCAdapter dataBase;
- JScrollPane tableAggregate;
-
- void activateConnectionDialog() {
- if (JOptionPane.showOptionDialog(this.tableAggregate, this.connectionPanel, ConnectTitle, -1, 1, (Icon)null, ConnectOptionNames, ConnectOptionNames[0]) == 0) {
- this.connect();
- this.frame.setVisible(true);
- } else {
- if (!this.frame.isVisible()) {
- System.exit(0);
- }
-
- }
- }
-
- public void createConnectionDialog() {
- this.userNameLabel = new JLabel("User name: ", 4);
- this.userNameField = new JTextField("guest");
- this.passwordLabel = new JLabel("Password: ", 4);
- this.passwordField = new JTextField("trustworthy");
- this.serverLabel = new JLabel("Database URL: ", 4);
- this.serverField = new JTextField("jdbc:sybase://dbtest:1455/pubs2");
- this.driverLabel = new JLabel("Driver: ", 4);
- this.driverField = new JTextField("connect.sybase.SybaseDriver");
- this.connectionPanel = new JPanel(false);
- this.connectionPanel.setLayout(new BoxLayout(this.connectionPanel, 0));
- JPanel var1 = new JPanel(false);
- ((Container)var1).setLayout(new GridLayout(0, 1));
- ((Container)var1).add(this.userNameLabel);
- ((Container)var1).add(this.passwordLabel);
- ((Container)var1).add(this.serverLabel);
- ((Container)var1).add(this.driverLabel);
- JPanel var2 = new JPanel(false);
- ((Container)var2).setLayout(new GridLayout(0, 1));
- ((Container)var2).add(this.userNameField);
- ((Container)var2).add(this.passwordField);
- ((Container)var2).add(this.serverField);
- ((Container)var2).add(this.driverField);
- this.connectionPanel.add(var1);
- this.connectionPanel.add(var2);
- }
-
- public TableExample2() {
- this.createConnectionDialog();
- this.showConnectionInfoButton = new JButton("Configuration");
- this.fetchButton = new JButton("Fetch");
- this.fetchButton.addActionListener(new TableExample2$QueryChangeListener(this));
- this.showConnectionInfoButton.addActionListener(new TableExample2$ShowConnectionInfoListener(this));
- this.queryTextArea = new JTextArea("SELECT * FROM titles", 25, 25);
- this.queryAggregate = new JScrollPane(this.queryTextArea);
- this.queryAggregate.setBorder(new BevelBorder(1));
- this.tableAggregate = this.createTable();
- this.tableAggregate.setBorder(new BevelBorder(1));
- this.mainPanel.add(this.fetchButton);
- this.mainPanel.add(this.showConnectionInfoButton);
- this.mainPanel.add(this.queryAggregate);
- this.mainPanel.add(this.tableAggregate);
- this.mainPanel.setLayout(this);
- this.frame = new JFrame("TableExample2");
- this.frame.addWindowListener(new TableExample2$1());
- this.frame.setBackground(Color.lightGray);
- this.frame.getContentPane().add(this.mainPanel);
- this.frame.pack();
- this.frame.setVisible(false);
- this.frame.setBounds(200, 200, 640, 480);
- this.activateConnectionDialog();
- }
-
- public void connect() {
- this.dataBase = new JDBCAdapter(this.serverField.getText(), this.driverField.getText(), this.userNameField.getText(), this.passwordField.getText());
- this.sorter.setModel(this.dataBase);
- }
-
- public void fetch() {
- this.dataBase.executeQuery(this.queryTextArea.getText());
- }
-
- public JScrollPane createTable() {
- this.sorter = new TableSorter();
- JTable var1 = new JTable(this.sorter);
- this.sorter.addMouseListenerToHeaderInTable(var1);
- JScrollPane var2 = JTable.createScrollPaneForTable(var1);
- return var2;
- }
-
- public static void main(String[] var0) {
- new TableExample2();
- }
-
- public Dimension preferredLayoutSize(Container var1) {
- return this.origin;
- }
-
- public Dimension minimumLayoutSize(Container var1) {
- return this.origin;
- }
-
- public void addLayoutComponent(String var1, Component var2) {
- }
-
- public void removeLayoutComponent(Component var1) {
- }
-
- public void layoutContainer(Container var1) {
- Rectangle var2 = ((Component)var1).getBounds();
- byte var3 = 90;
- byte var4 = 4;
- this.showConnectionInfoButton.setBounds(var2.width - 2 * var4 - 120, var4, 120, 25);
- this.fetchButton.setBounds(var2.width - 2 * var4 - 120, 60, 120, 25);
- this.queryAggregate.setBounds(var4, var4, var2.width - 2 * var4 - 150, 80);
- this.tableAggregate.setBounds(new Rectangle(var4, var4 + var3, var2.width - 2 * var4, var2.height - 2 * var4 - var3));
- }
- }
-