edu.ksu.cis.bnj.gui
Class DatabaseGUI

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended byedu.ksu.cis.bnj.gui.DatabaseGUI
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.event.KeyListener, java.awt.MenuContainer, java.awt.event.MouseListener, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants, java.awt.event.WindowListener

public class DatabaseGUI
extends javax.swing.JFrame
implements java.awt.event.ActionListener, java.awt.event.WindowListener, java.awt.event.KeyListener, java.awt.event.MouseListener

JDBC-based Database Console Requires: JDK 1.4 or better.

Author:
Roby Joehanes
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.JDialog aboutDialog
           
protected  javax.swing.JMenuItem aboutMenu
           
protected  javax.swing.JEditorPane aboutPane
           
protected  javax.swing.JTabbedPane aboutTab
           
protected  javax.swing.JList availableTableList
           
protected  javax.swing.DefaultListModel availableTableListModel
           
protected  javax.swing.JButton browseButton
           
protected  javax.swing.JButton cancelSaveButton
           
protected  java.util.LinkedList commandHistory
           
protected  int commandHistoryIndex
           
protected  javax.swing.JButton connectButton
           
protected  javax.swing.JDialog connectDialog
           
protected  java.sql.Connection connection
           
protected  javax.swing.JMenuItem connectMenu
           
protected  javax.swing.JTextArea consoleArea
           
protected  boolean consoleMode
           
protected  javax.swing.JPanel consolePanel
           
protected  javax.swing.JTextField consoleQueryField
           
protected  edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel dataModel
           
protected  javax.swing.JMenuItem dbInfo
           
protected  javax.swing.JMenuItem dbTables
           
protected  javax.swing.JComboBox driver
           
protected static java.lang.String driverString
           
protected  javax.swing.JButton execButton
           
protected  javax.swing.JMenuItem exit
           
protected  BNJFileDialogFactory fcFactory
           
protected  javax.swing.JPanel guiPanel
           
protected  javax.swing.JTextArea infoArea
           
protected  javax.swing.JDialog infoDialog
           
protected  boolean isError
           
protected  javax.swing.JTextArea licenseArea
           
static java.lang.String ln
           
protected  javax.swing.JMenuItem loadMenu
           
protected  javax.swing.JTextField login
           
protected static java.lang.String loginString
           
protected  javax.swing.JPanel mainPanel
           
static int maxHistoryLength
           
protected  javax.swing.JMenuItem modeMenu
           
protected  javax.swing.JFrame owner
           
protected  javax.swing.JPasswordField passwd
           
protected static java.lang.String passwdString
           
protected  javax.swing.JTextArea queryField
           
protected  javax.swing.JButton saveButton
           
protected  javax.swing.JDialog saveDialog
           
protected  javax.swing.JMenuItem saveMenu
           
protected  javax.swing.JTextField saveText
           
protected  java.awt.Dimension scrSize
           
protected  java.util.Hashtable settings
           
protected  javax.swing.JLabel statusBarText
           
protected  java.sql.Statement stmt
           
protected  javax.swing.JTable table
           
protected  javax.swing.JButton tableAddButton
           
protected  javax.swing.JTable tableColumns
           
protected  edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tableColumnsModel
           
protected  javax.swing.JDialog tableDialog
           
protected  javax.swing.JDialog tableDisplayDialog
           
protected static edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tableErrorModel
           
protected  javax.swing.JTable tableIKeys
           
protected  edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tableIKeysModel
           
protected  javax.swing.JTable tableList
           
protected  edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tableListModel
           
protected  javax.swing.JTable tablePKeys
           
protected  edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tablePKeysModel
           
protected  javax.swing.JTable tablePrevileges
           
protected  edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tablePrevilegesModel
           
protected  javax.swing.JButton tableRemoveButton
           
protected  javax.swing.JTable tableRKeys
           
protected  edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tableRKeysModel
           
protected  javax.swing.JTable tableSuper
           
protected  edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tableSuperModel
           
protected  javax.swing.JList tableToSaveList
           
protected  javax.swing.DefaultListModel tableToSaveListModel
           
protected  javax.swing.JTextField url
           
protected static java.lang.String urlString
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DatabaseGUI(javax.swing.JFrame o)
          Constructor for DBTestGUI.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent evt)
           
protected  void addTableToSave()
           
protected  java.awt.Dimension center(java.awt.Dimension src, java.awt.Dimension dest)
           
protected  boolean checkConnect()
           
 boolean connect()
           
 boolean connect(java.sql.Connection c)
           
 boolean connect(java.sql.Connection c, java.sql.Statement s)
           
 void disconnect()
           
protected  void emptyTableLists()
           
protected  java.sql.ResultSet executeQuery(java.lang.String query)
           
protected  java.lang.String getDatabaseInfo()
           
protected  java.util.Hashtable getSQLTypeTable()
           
protected  void getTableInfo()
           
protected  void init()
           
 void keyPressed(java.awt.event.KeyEvent evt)
           
 void keyReleased(java.awt.event.KeyEvent evt)
           
 void keyTyped(java.awt.event.KeyEvent evt)
           
static void main(java.lang.String[] args)
           
 void mouseClicked(java.awt.event.MouseEvent evt)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
protected  boolean open(java.lang.String file)
           
protected  void removeTableToSave()
           
protected  void repopulateAvailableTableList()
           
protected  void resort(javax.swing.DefaultListModel model)
           
protected  edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel resultSetToDataModel(java.sql.ResultSet rs)
           
protected  boolean save(java.lang.String file)
           
protected  void setupAboutDialog()
           
protected  void setupConnectDialog()
           
protected  void setupInfoDialog()
           
protected  void setupSaveDialog()
           
protected  void setupTableDialog()
           
protected  void setupTableDisplayDialog()
           
protected  void toConsoleMode()
           
protected  void toGUIMode()
           
 void windowActivated(java.awt.event.WindowEvent arg0)
           
 void windowClosed(java.awt.event.WindowEvent arg0)
           
 void windowClosing(java.awt.event.WindowEvent evt)
           
 void windowDeactivated(java.awt.event.WindowEvent arg0)
           
 void windowDeiconified(java.awt.event.WindowEvent arg0)
           
 void windowIconified(java.awt.event.WindowEvent arg0)
           
 void windowOpened(java.awt.event.WindowEvent arg0)
           
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

ln

public static final java.lang.String ln

maxHistoryLength

public static final int maxHistoryLength
See Also:
Constant Field Values

connection

protected java.sql.Connection connection

stmt

protected java.sql.Statement stmt

owner

protected javax.swing.JFrame owner

queryField

protected javax.swing.JTextArea queryField

consoleArea

protected javax.swing.JTextArea consoleArea

infoArea

protected javax.swing.JTextArea infoArea

licenseArea

protected javax.swing.JTextArea licenseArea

aboutPane

protected javax.swing.JEditorPane aboutPane

aboutTab

protected javax.swing.JTabbedPane aboutTab

consoleQueryField

protected javax.swing.JTextField consoleQueryField

guiPanel

protected javax.swing.JPanel guiPanel

consolePanel

protected javax.swing.JPanel consolePanel

mainPanel

protected javax.swing.JPanel mainPanel

execButton

protected javax.swing.JButton execButton

connectButton

protected javax.swing.JButton connectButton

browseButton

protected javax.swing.JButton browseButton

tableAddButton

protected javax.swing.JButton tableAddButton

tableRemoveButton

protected javax.swing.JButton tableRemoveButton

saveButton

protected javax.swing.JButton saveButton

cancelSaveButton

protected javax.swing.JButton cancelSaveButton

scrSize

protected java.awt.Dimension scrSize

table

protected javax.swing.JTable table

tableList

protected javax.swing.JTable tableList

tableColumns

protected javax.swing.JTable tableColumns

tablePKeys

protected javax.swing.JTable tablePKeys

tableRKeys

protected javax.swing.JTable tableRKeys

tableIKeys

protected javax.swing.JTable tableIKeys

tableSuper

protected javax.swing.JTable tableSuper

tablePrevileges

protected javax.swing.JTable tablePrevileges

dataModel

protected edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel dataModel

tableListModel

protected edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tableListModel

tableColumnsModel

protected edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tableColumnsModel

tablePKeysModel

protected edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tablePKeysModel

tableRKeysModel

protected edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tableRKeysModel

tableIKeysModel

protected edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tableIKeysModel

tableSuperModel

protected edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tableSuperModel

tablePrevilegesModel

protected edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tablePrevilegesModel

connectDialog

protected javax.swing.JDialog connectDialog

infoDialog

protected javax.swing.JDialog infoDialog

tableDialog

protected javax.swing.JDialog tableDialog

tableDisplayDialog

protected javax.swing.JDialog tableDisplayDialog

aboutDialog

protected javax.swing.JDialog aboutDialog

saveDialog

protected javax.swing.JDialog saveDialog

url

protected javax.swing.JTextField url

login

protected javax.swing.JTextField login

saveText

protected javax.swing.JTextField saveText

passwd

protected javax.swing.JPasswordField passwd

driver

protected javax.swing.JComboBox driver

statusBarText

protected javax.swing.JLabel statusBarText

availableTableList

protected javax.swing.JList availableTableList

tableToSaveList

protected javax.swing.JList tableToSaveList

availableTableListModel

protected javax.swing.DefaultListModel availableTableListModel

tableToSaveListModel

protected javax.swing.DefaultListModel tableToSaveListModel

dbInfo

protected javax.swing.JMenuItem dbInfo

dbTables

protected javax.swing.JMenuItem dbTables

connectMenu

protected javax.swing.JMenuItem connectMenu

exit

protected javax.swing.JMenuItem exit

modeMenu

protected javax.swing.JMenuItem modeMenu

aboutMenu

protected javax.swing.JMenuItem aboutMenu

loadMenu

protected javax.swing.JMenuItem loadMenu

saveMenu

protected javax.swing.JMenuItem saveMenu

consoleMode

protected boolean consoleMode

commandHistory

protected java.util.LinkedList commandHistory

commandHistoryIndex

protected int commandHistoryIndex

isError

protected boolean isError

fcFactory

protected BNJFileDialogFactory fcFactory

tableErrorModel

protected static edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel tableErrorModel

driverString

protected static java.lang.String driverString

urlString

protected static java.lang.String urlString

loginString

protected static java.lang.String loginString

passwdString

protected static java.lang.String passwdString

settings

protected java.util.Hashtable settings
Constructor Detail

DatabaseGUI

public DatabaseGUI(javax.swing.JFrame o)
            throws java.awt.HeadlessException
Constructor for DBTestGUI.

Throws:
java.awt.HeadlessException
Method Detail

init

protected void init()

setupSaveDialog

protected void setupSaveDialog()

setupAboutDialog

protected void setupAboutDialog()

setupTableDialog

protected void setupTableDialog()

setupTableDisplayDialog

protected void setupTableDisplayDialog()

setupInfoDialog

protected void setupInfoDialog()

setupConnectDialog

protected void setupConnectDialog()

center

protected java.awt.Dimension center(java.awt.Dimension src,
                                    java.awt.Dimension dest)

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent evt)
Specified by:
actionPerformed in interface java.awt.event.ActionListener
See Also:
ActionListener.actionPerformed(ActionEvent)

resort

protected void resort(javax.swing.DefaultListModel model)

addTableToSave

protected void addTableToSave()

removeTableToSave

protected void removeTableToSave()

checkConnect

protected boolean checkConnect()

save

protected boolean save(java.lang.String file)

open

protected boolean open(java.lang.String file)

resultSetToDataModel

protected edu.ksu.cis.bnj.gui.DatabaseGUI.DataModel resultSetToDataModel(java.sql.ResultSet rs)
                                                                  throws java.sql.SQLException
Throws:
java.sql.SQLException

getTableInfo

protected void getTableInfo()

getDatabaseInfo

protected java.lang.String getDatabaseInfo()

getSQLTypeTable

protected java.util.Hashtable getSQLTypeTable()

toConsoleMode

protected void toConsoleMode()

toGUIMode

protected void toGUIMode()

executeQuery

protected java.sql.ResultSet executeQuery(java.lang.String query)
                                   throws java.sql.SQLException
Throws:
java.sql.SQLException

repopulateAvailableTableList

protected void repopulateAvailableTableList()
                                     throws java.sql.SQLException
Throws:
java.sql.SQLException

emptyTableLists

protected void emptyTableLists()

connect

public boolean connect()

connect

public boolean connect(java.sql.Connection c)

connect

public boolean connect(java.sql.Connection c,
                       java.sql.Statement s)

disconnect

public void disconnect()

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent evt)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

keyPressed

public void keyPressed(java.awt.event.KeyEvent evt)
Specified by:
keyPressed in interface java.awt.event.KeyListener

keyReleased

public void keyReleased(java.awt.event.KeyEvent evt)
Specified by:
keyReleased in interface java.awt.event.KeyListener

keyTyped

public void keyTyped(java.awt.event.KeyEvent evt)
Specified by:
keyTyped in interface java.awt.event.KeyListener

windowClosing

public void windowClosing(java.awt.event.WindowEvent evt)
Specified by:
windowClosing in interface java.awt.event.WindowListener

windowActivated

public void windowActivated(java.awt.event.WindowEvent arg0)
Specified by:
windowActivated in interface java.awt.event.WindowListener

windowClosed

public void windowClosed(java.awt.event.WindowEvent arg0)
Specified by:
windowClosed in interface java.awt.event.WindowListener

windowDeactivated

public void windowDeactivated(java.awt.event.WindowEvent arg0)
Specified by:
windowDeactivated in interface java.awt.event.WindowListener

windowDeiconified

public void windowDeiconified(java.awt.event.WindowEvent arg0)
Specified by:
windowDeiconified in interface java.awt.event.WindowListener

windowIconified

public void windowIconified(java.awt.event.WindowEvent arg0)
Specified by:
windowIconified in interface java.awt.event.WindowListener

windowOpened

public void windowOpened(java.awt.event.WindowEvent arg0)
Specified by:
windowOpened in interface java.awt.event.WindowListener

main

public static void main(java.lang.String[] args)