Основной класс:
| Код | public class Query extends JFrame { public ResultSetTableModel tableModel; public JTextArea queryTextArea; public Connection con; public Statement statement; private String txt; private ResultSet rs; public Query(){ JFrame query = new JFrame("Query"); JMenuBar menuBar = new JMenuBar(); query.setJMenuBar(menuBar); JMenu menu = new JMenu("Menu"); menuBar.add(menu); JMenuItem connect = new JMenuItem("Connect"); menu.add(connect); connect.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) { try { if (con != null && !con.isClosed()) con.close(); } catch (SQLException e1) { e1.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } Connect obj = new Connect(); try{ con = obj.getConnection(); System.out.println("return connection!"); } catch(Exception e1){ JOptionPane.showMessageDialog(null, e1.toString(), "Error", JOptionPane.ERROR_MESSAGE );
}
} }); JMenuItem exit = new JMenuItem("Exit"); menu.add(exit); exit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) { System.exit(0); } });
try { queryTextArea = new JTextArea(7,100); txt = queryTextArea.getText();
JScrollPane scrollPane = new JScrollPane(queryTextArea,ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); JLabel queryLabel = new JLabel("Query"); JButton but = new JButton("Run query");
but.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { try { try { statement = con.createStatement(); } catch(Exception e3){ JOptionPane.showMessageDialog(null, e3.toString(), "Statement error", JOptionPane.ERROR_MESSAGE ); } rs = statement.executeQuery (txt); tableModel.setResultSet(rs);
} catch (SQLException e1) { JOptionPane.showMessageDialog(null, e1.toString(), "Error", JOptionPane.ERROR_MESSAGE ); } try { statement.close(); } catch (SQLException e2) { e2.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. }
/*try { tableModel.setQuery (txt); } catch (SQLException e1) { JOptionPane.showMessageDialog(null, e1.toString(), "Database error", JOptionPane.ERROR_MESSAGE ); } */ } }); Container cont = query.getContentPane(); Box box = Box.createHorizontalBox(); box.add(scrollPane); box.add(but); JPanel top = new JPanel(); top.setLayout(new BorderLayout()); top.add(box, BorderLayout.CENTER); top.add(queryLabel, BorderLayout.NORTH); JTable resultTable = new JTable(); JPanel bottom = new JPanel(); JLabel resultsLabel = new JLabel("Results"); bottom.setLayout(new BorderLayout()); bottom.add(resultTable, BorderLayout.CENTER); bottom.add(resultsLabel, BorderLayout.NORTH); JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT); cont.add(splitPane, BorderLayout.CENTER); splitPane.setTopComponent(top); splitPane.setBottomComponent(bottom);
Toolkit kit =Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int screenHeight = screenSize.height; int screenWidth = screenSize.width; query.setLocation(screenWidth/4,screenHeight/4); query.setSize(screenWidth/2,screenHeight/2); query.setVisible(true);
} catch (Exception e) { JOptionPane.showInternalMessageDialog(null, e.toString(), "Database Error", JOptionPane.ERROR_MESSAGE); //To change body of catch statement use File | Settings | File Templates. }
}
public static void main(String[] args) {
Query obj = new Query(); obj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} }
|
класс Connect:
| Код | public class Connect extends JFrame { private Connection con ; public Connect(){ super();
final JFrame win = new JFrame("Connect"); win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel pan = new JPanel(new GridLayout(4,2)); pan.add(new Label("Connect url")); final JTextField txt1 = new JTextField(); pan.add(txt1); pan.add(new Label("Username")); final JTextField txt2 = new JTextField(); pan.add(txt2); pan.add(new Label("Password")); final JTextField txt3 = new JTextField(); //txt3.setEchoChar('*'); pan.add(txt3); JButton but1 = new JButton("OK"); but1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
try { String conurl = txt1.getText(); String user = txt2.getText(); String pas = txt3.getText(); Class.forName ("com.mysql.jdbc.Driver"); try{ con = DriverManager.getConnection(conurl,user,pas); }catch (Exception f){
f.printStackTrace(); /* if (con!=null){ JFrame error = new JFrame("Error"); Container cont =error.getContentPane(); JPanel pan = new JPanel(); JLabel label = new JLabel("Success=))"); pan.add(label); cont.add(pan, BorderLayout.CENTER); error.setSize(300,100); error.setLocation(512,384); error.setVisible(true); }
if (con==null){ JFrame error = new JFrame("Error"); Container cont =error.getContentPane(); JPanel pan = new JPanel(); JLabel label = new JLabel("Not Success=(("); pan.add(label); cont.add(pan, BorderLayout.CENTER); error.setSize(300,100); error.setLocation(512,384); error.setVisible(true); } */ }
} catch (Exception ei) {
ei.printStackTrace();
} win.dispose(); }
}); JButton but2 = new JButton("Cancel"); but2.addActionListener(new ActionListener (){
public void actionPerformed(ActionEvent e) {
System.exit(0);
} });
pan.add(but1); pan.add(but2); Container cont = win.getContentPane(); cont.add (pan, BorderLayout.CENTER); win.setSize(400,150); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int screenHeight = screenSize.height; int screenWidth = screenSize.width; win.setLocation(screenWidth/4,screenHeight/4); win.setVisible(true);
} public Connection getConnection(){ return con; } }
|
|