📄 dbmanger.java
字号:
package jdbc_bible;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.Vector;
public class DBManger extends JFrame
{
JMenuBar menuBar=new JMenuBar();
JDesktopPane desktop=new JDesktopPane();
String database=null;
String tableName=null;
String menuSelection=null;
TableBuilderFrame tableMaker=null;
DatabaseUtilities dbUtils=null;
TableEditFrame tableEditor=null;
TableQueryFrame tableQuery=null;
TableMenu tableMenu=new TableMenu();
EditMenu editMenu=new EditMenu();
ViewMenu viewMenu=new ViewMenu();
MenuListener menuListener=new MenuListener();
public DBManger()
{
setJMenuBar(menuBar);
setTitle("JDBC Database Bible");
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(desktop,BorderLayout.CENTER);
this.setSize(new Dimension(640,480));
menuBar.add(tableMenu);
tableMenu.setMenuListener(menuListener);
menuBar.add(editMenu);
editMenu.setMenuListener(menuListener);
menuBar.add(viewMenu);
viewMenu.setMenuListener(menuListener);
this.setFont(new Font("Dialog",Font.PLAIN,18));
this.setVisible(true);
Font font=this.getGraphics().getFont();
System.out.println(font);
}
private void displayTableBuilderFrame()
{
tableName=JOptionPane.showInputDialog(this,"Table:","Select table",JOptionPane.QUESTION_MESSAGE);
tableMaker=new TableBuilderFrame(tableName);
tableMaker.setCommandListener(new CommandListener());
desktop.add(tableMaker);
tableMaker.setVisible(true);
}
private void displayTableEditFrame()
{
tableName=JOptionPane.showInputDialog(this,"Table:","Select table ",JOptionPane.QUESTION_MESSAGE);
tableEditor=new TableEditFrame(tableName,dbUtils);
desktop.add(tableEditor);
tableEditor.setVisible(true);
}
private void displayTableQueryFrame()
{
tableName=JOptionPane.showInputDialog(this,"Table:","Select table ",JOptionPane.QUESTION_MESSAGE);
tableQuery=new TableQueryFrame(tableName,dbUtils);
desktop.add(tableQuery);
tableQuery.setVisible(true);
}
private String[] parseKeyValueString(String kvString)
{
String[] kvPair=null;
int equals=kvString.indexOf("=");
if(equals>0)
{
kvPair=new String[2];
kvPair[0]=kvString.substring(0,equals).trim();
kvPair[1]=kvString.substring(equals+1).trim();
}
return kvPair;
}
private void selectDatabase()
{
database=JOptionPane.showInputDialog(this,"Database:","Select database",JOptionPane.QUESTION_MESSAGE);
dbUtils=new DatabaseUtilities();
dbUtils.setExceptionListener(new ExceptionListener());
tableMenu.enableMenuItem("New Table",true);
tableMenu.enableMenuItem("Drop Table",true);
editMenu.enableMenuItem("Insert",true);
editMenu.enableMenuItem("Update",true);
editMenu.enableMenuItem("Delete",true);
viewMenu.enableMenuItem("ResultSet",true);
}
private void executeSQLCommand(String SQLCommand)
{
dbUtils.execute(SQLCommand);
}
private void dropTable()
{
tableName=JOptionPane.showInputDialog(this,"Table:","Select table",JOptionPane.QUESTION_MESSAGE);
int option=JOptionPane.showConfirmDialog(null,"Dropping table"+tableName,"Database"+database,JOptionPane.OK_CANCEL_OPTION);
if(option==0)
{
executeSQLCommand("DROP TABLE"+tableName);
}
}
class MenuListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String menuSelection=event.getActionCommand();
if(menuSelection.equals("Database"))
{
selectDatabase();
}
else if(menuSelection.equals("New Table"))
{
displayTableBuilderFrame();
}
else if(menuSelection.equals("Drop Table"))
{
dropTable();
}
else if(menuSelection.equals("Insert"))
{
displayTableEditFrame();
}
else if(menuSelection.equals("ResultSet"))
{
displayTableQueryFrame();
}
else if(menuSelection.equals("Exit"))
{
System.exit(0);
}
}
}
private class ExceptionListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String exception=event.getActionCommand();
JOptionPane.showMessageDialog(null,exception,"SQL Error",JOptionPane.ERROR_MESSAGE);
}
}
class CommandListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String SQLCommand=event.getActionCommand();
executeSQLCommand(SQLCommand);
}
}
public static void main(String[] args)
{
DBManger dbm=new DBManger();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -