Accueil > > > UNE INTERFACE POUR MYSQL
UNE INTERFACE POUR MYSQL
Information sur la source
Description
il s'agit d'une petite interface pour MySql,, on se connecte au driver jdbc (il faut l'avoir installé auparavant...). je me suis servi du code de qqn de ce site (je ne me souviens plus de son pseudo, j'espère qu'il m'excusera si il se reconnait) pour la JTable. Il est nécessaire de bien connaitre mysql. Ce truc a été fait avec netbeans.
Source
- /*
- * Main.java
- *
- * Created on 4 février 2004, 20:42
- */
- import java.sql.*;
- import java.io.*;
- import java.util.*;
- import javax.swing.table.*;
- import javax.swing.*;
- import java.awt.*;
-
- public class MySql extends javax.swing.JFrame {
- Connection connection;
- /** Creates new form Main */
- public MySql() {
- initComponents();
- setSize(515,535);
- this.setResizable(false);
- }
-
- /** This method is called from within the constructor to
- * initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is
- * always regenerated by the Form Editor.
- */
- private void initComponents() {//GEN-BEGIN:initComponents
- jPanel1 = new javax.swing.JPanel();
- jLabel1 = new javax.swing.JLabel();
- jLabel2 = new javax.swing.JLabel();
- jTextField1 = new javax.swing.JTextField();
- jButton1 = new javax.swing.JButton();
- jPasswordField1 = new javax.swing.JPasswordField();
- jPanel2 = new javax.swing.JPanel();
- jScrollPane2 = new javax.swing.JScrollPane();
- jTextPane2 = new javax.swing.JTextPane();
- jPanel3 = new javax.swing.JPanel();
- jScrollPane1 = new javax.swing.JScrollPane();
- jTextPane1 = new javax.swing.JTextPane();
- jButton2 = new javax.swing.JButton();
- jPanel4 = new javax.swing.JPanel();
- jScrollPane3 = new javax.swing.JScrollPane();
- jTable1 = new javax.swing.JTable();
- jButton4 = new javax.swing.JButton();
- jButton3 = new javax.swing.JButton();
- jButton5 = new javax.swing.JButton();
- jLabel3 = new javax.swing.JLabel();
-
- getContentPane().setLayout(null);
-
- setTitle("MySql interface");
- addWindowListener(new java.awt.event.WindowAdapter() {
- public void windowClosing(java.awt.event.WindowEvent evt) {
- exitForm(evt);
- }
- });
-
- jPanel1.setLayout(null);
-
- jLabel1.setText("user");
- jPanel1.add(jLabel1);
- jLabel1.setBounds(10, 10, 40, 20);
-
- jLabel2.setText("password");
- jPanel1.add(jLabel2);
- jLabel2.setBounds(130, 10, 70, 24);
-
- jTextField1.setName("user");
- jTextField1.setPreferredSize(new java.awt.Dimension(50, 25));
- jPanel1.add(jTextField1);
- jTextField1.setBounds(50, 10, 70, 25);
-
- jButton1.setText("connect");
- jButton1.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButton1ActionPerformed(evt);
- }
- });
-
- jPanel1.add(jButton1);
- jButton1.setBounds(310, 10, 90, 30);
-
- jPanel1.add(jPasswordField1);
- jPasswordField1.setBounds(200, 10, 100, 28);
-
- getContentPane().add(jPanel1);
- jPanel1.setBounds(0, 0, 410, 40);
-
- jPanel2.setLayout(new java.awt.BorderLayout());
-
- jScrollPane2.setViewportView(jTextPane2);
-
- jPanel2.add(jScrollPane2, java.awt.BorderLayout.CENTER);
-
- getContentPane().add(jPanel2);
- jPanel2.setBounds(10, 70, 490, 130);
-
- jPanel3.setLayout(new java.awt.BorderLayout());
-
- jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
- jTextPane1.setText("To connect, enter your username and password");
- jScrollPane1.setViewportView(jTextPane1);
-
- jPanel3.add(jScrollPane1, java.awt.BorderLayout.CENTER);
-
- getContentPane().add(jPanel3);
- jPanel3.setBounds(10, 380, 490, 100);
-
- jButton2.setText("execute SQL");
- jButton2.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButton2ActionPerformed(evt);
- }
- });
-
- getContentPane().add(jButton2);
- jButton2.setBounds(290, 210, 110, 30);
-
- jPanel4.setLayout(new java.awt.BorderLayout());
-
- jScrollPane3.setBorder(new javax.swing.border.MatteBorder(null));
- jTable1.setModel(new javax.swing.table.DefaultTableModel(
- new Object [][] {
- {null, null, null, null},
- {null, null, null, null},
- {null, null, null, null},
- {null, null, null, null}
- },
- new String [] {
- "Title 1", "Title 2", "Title 3", "Title 4"
- }
- ));
- jScrollPane3.setViewportView(jTable1);
-
- jPanel4.add(jScrollPane3, java.awt.BorderLayout.CENTER);
-
- getContentPane().add(jPanel4);
- jPanel4.setBounds(10, 250, 490, 120);
-
- jButton4.setText("import SQL File");
- jButton4.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- OuvrirFichierActionPerformed(evt);
- }
- });
-
- getContentPane().add(jButton4);
- jButton4.setBounds(150, 210, 140, 30);
-
- jButton3.setText("show databases");
- jButton3.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButton3ActionPerformed(evt);
- }
- });
-
- getContentPane().add(jButton3);
- jButton3.setBounds(10, 210, 140, 30);
-
- jButton5.setText("quit");
- jButton5.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- quitterActionPerformed(evt);
- }
- });
-
- getContentPane().add(jButton5);
- jButton5.setBounds(440, 480, 60, 30);
-
- jLabel3.setText("Write your SQL code here or import a file :");
- getContentPane().add(jLabel3);
- jLabel3.setBounds(10, 50, 270, 24);
-
- pack();
- }//GEN-END:initComponents
-
- private void quitterActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_quitterActionPerformed
- // Add your handling code here:
- System.exit(0);
- }//GEN-LAST:event_quitterActionPerformed
-
- private void OuvrirFichierActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OuvrirFichierActionPerformed
- // Add your handling code here:
- String currentDir=".";
- String destination;
- File selected;
- JFileChooser chooser = new JFileChooser();
- chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
- File fdir = new File(currentDir);
- chooser.setCurrentDirectory(fdir);
- if(chooser.showDialog(this,"Choisir") == JFileChooser.APPROVE_OPTION) {
- selected = chooser.getSelectedFile();
- destination = new String(selected.getParent() + File.separatorChar + selected.getName());
- currentDir = selected.getParent();
- String s= lireFichier(destination);
- jTextPane2.setText(s);
- }
- }//GEN-LAST:event_OuvrirFichierActionPerformed
-
- private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
- // Add your handling code here:
- executerSQL("show databases");
- }//GEN-LAST:event_jButton3ActionPerformed
-
- private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
- // Add your handling code here:
- try{
- String query=this.jTextPane2.getSelectedText().replace( '%', '`' );
- if(connection==null) ecrireOut("you have to be identified to perform this operation");
- else
- {executerSQL(query);
- if (query.startsWith("drop")||query.startsWith("create")) executerSQL("show tables");}
- }
- catch(NullPointerException excep){
- ecrireOut("you have to select some code to execute");
- }
- }//GEN-LAST:event_jButton2ActionPerformed
-
- void executerSQL(String query){
- // executer le sql de la fenetre
- if (connection==null) ecrireOut("you have to be identified to perform this operation");
- try {
- if ( connection == null ) {System.out.println("connection==null");return;}
- Statement stm = connection.createStatement();
- String catalog = connection.getCatalog();
-
-
-
- String queryMaj = query.toUpperCase();
-
- if ( ( queryMaj.trim().startsWith( "SELECT" ) )
- || ( queryMaj.trim().startsWith( "DESCRIBE" ) )
- || ( queryMaj.trim().startsWith( "SHOW" ) ) ) {
- jTable1.removeAll();
- ResultSet rs = stm.executeQuery( query );
- ResultSetMetaData mdt = rs.getMetaData();
- int num = mdt.getColumnCount();
- DefaultTableModel df = new DefaultTableModel() {
- public boolean isCellEditable( int row, int col )
- { if ( (row>>1)<<1 == row ) return true; return false; } };
- for ( int i = 0; i < num; i++ ) { df.addColumn( mdt.getColumnName( i + 1 ) ); }
- jTable1.setModel( df );
-
- TableCellRenderer tbcH = createDemoHeaderRenderer();
- for ( int i = 0; i < num; i++ ) {
- TableColumn tc = jTable1.getTableHeader().getColumnModel().getColumn( i );
- tc.setHeaderRenderer( tbcH );
- tc.setCellRenderer( new DemoCellRenderer() );
- }
- int line = 0;
- while ( rs.next() ) {
- Vector v = new Vector( 10 );
- for ( int col = 0; col < num; col++ )
- v.addElement( rs.getString( col + 1 ) );
- df.addRow( v );
- line++;
- }
- jTextPane1.setText( line + " rows selected");
- rs.close();
- }
- else {
- ecrireOut( "SQL executer : " + query );
- stm.executeUpdate( query );
- }
- stm.close();
- }
- catch ( Exception e ) {
- jTextPane1.setText( "\nError execute sql : " + e );
- jTextPane1.setText( "sql : " + query );
- }
- }
- void ecrireOut(String chaine){
- jTextPane1.setText(chaine);
- }
-
- class DemoCellRenderer extends JLabel
- implements TableCellRenderer {
- boolean isBordered = true;
- Color selectedForeground = null;
- Color selectedBackground = null;
- Color unselectedForegroundAlt = null;
- Color unselectedBackgroundAlt = new Color( 200, 200, 200 );
- Color unselectedForeground = null;
- Color unselectedBackground = null;
-
- public DemoCellRenderer() {
- super();
- setOpaque(true);
- }
-
- public Component getTableCellRendererComponent(
- JTable table, Object val,
- boolean isSelected, boolean hasFocus,
- int row, int column) {
- setAlignmentX( CENTER_ALIGNMENT );
-
-
- Font f = getFont();
- if ( isSelected ) {
- setFont( new Font( f.getName(), Font.PLAIN|Font.ITALIC, f.getSize() ) );
-
- super.setForeground( ( selectedForeground != null) ? selectedForeground : table.getSelectionForeground() );
- super.setBackground( ( selectedBackground != null) ? selectedBackground : table.getSelectionBackground() );
- }
- else {
- setFont( new Font( f.getName(), Font.PLAIN, f.getSize() ) );
- if ( ((column)>>1)<<1 == column - (row-((row>>1)<<1)) ) {
- super.setForeground( ( unselectedForegroundAlt != null) ? unselectedForegroundAlt : table.getForeground() );
- super.setBackground( ( unselectedBackgroundAlt != null) ? unselectedBackgroundAlt : table.getBackground() );
- }
- else {
- super.setForeground( ( unselectedForeground != null) ? unselectedForeground : table.getForeground() );
- super.setBackground( ( unselectedBackground != null) ? unselectedBackground : table.getBackground() );
- }
- }
- setText( (String)val );
- return this;
- }
- }
-
- Color foreColor = new Color( 0, 0, 50 );
- Hashtable couleur = new Hashtable( 10 );
- Color defoBack = new Color( 194, 194, 194);
-
- private TableCellRenderer createDemoHeaderRenderer() {
- DefaultTableCellRenderer label = new
- DefaultTableCellRenderer() {
- public Component getTableCellRendererComponent(JTable table, Object value,
- boolean isSelected, boolean hasFocus, int row, int column) {
- setText((value == null) ? "" : value.toString());
- if (table != null) {
- JTableHeader header = table.getTableHeader();
- if (header != null) {
-
- Color back = (Color)couleur.get( getText() );
- setForeground( foreColor );
- setBackground( (back==null)?defoBack:back );
- setFont(header.getFont());
- }
- }
- setBorder(UIManager.getBorder("TableHeader.cellBorder"));
- return this;
- }
- };
- label.setHorizontalAlignment(JLabel.CENTER);
- return label;
- }
- private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
- // Add your handling code here:
- String user=jTextField1.getText();
- char[] passwd=jPasswordField1.getPassword();
- connect(user,passwd);
- }//GEN-LAST:event_jButton1ActionPerformed
-
- public void connect(String user,char[] passwd) {
- String out=new String();
- try {
- String pass = new String(passwd);
- if (user.compareTo("")==0)
- {jTextPane1.setText("Enter a valid username/password please");
- return;}
-
-
- out="Connecting to the JDBC driver\n";
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- out=out+"Driver com.mysql.jdbc.Driver loaded\n";
- try {
- out=out+"Connecting to database\n";
- connection = DriverManager.getConnection("jdbc:mysql://localhost/test?user="+user +
- "&password="+ pass);
- out=out+"Database connected\n";
- } catch (SQLException ex) {
- out = out + "Your user/password is not correct, try again please";
- }
- } catch (Exception ex) {
- jTextPane1.setText("Driver loading failed\n");
- }
- jTextPane1.setText(out);
- }
-
- String lireFichier(String fic) {
- FileReader fr = null;
- LineNumberReader reader = null;
-
- try {
- fr = new FileReader(fic);
- reader = new LineNumberReader(fr);
- }
- catch (FileNotFoundException e) {
- reader = null;
- ecrireOut(fic+" (fichier introuvable)");
- return("");
- }
-
- String res = "";
- String line;
- try {
- for (;;) {
- line = reader.readLine();
- if (line == null) break;
- res += line+"\r\n";
- }
- }
- catch (IOException e) {
- ecrireOut(fic+" (lecture imposible)");
- }
- try {
- reader.close();
- fr.close();
- }
- catch (IOException e) {
- ecrireOut(fic+" (fermeture impossible)");
- }
- reader = null;
- return(res);
- }
-
- /** Exit the Application */
- private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
- try {
- Toolkit.getDefaultToolkit().beep();
- int reply = JOptionPane.showConfirmDialog(this,
- "Do you really want to quit?",
- "Interface MySql - Quit" ,
- JOptionPane.YES_NO_OPTION,
- JOptionPane.QUESTION_MESSAGE);
- if (reply == JOptionPane.YES_OPTION) {
- System.exit(0);
- }
- } catch (Exception e) {
- }
- }//GEN-LAST:event_exitForm
-
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- new MySql().show();
- }
-
-
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JButton jButton1;
- private javax.swing.JButton jButton2;
- private javax.swing.JButton jButton3;
- private javax.swing.JButton jButton4;
- private javax.swing.JButton jButton5;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JPanel jPanel1;
- private javax.swing.JPanel jPanel2;
- private javax.swing.JPanel jPanel3;
- private javax.swing.JPanel jPanel4;
- private javax.swing.JPasswordField jPasswordField1;
- private javax.swing.JScrollPane jScrollPane1;
- private javax.swing.JScrollPane jScrollPane2;
- private javax.swing.JScrollPane jScrollPane3;
- private javax.swing.JTable jTable1;
- private javax.swing.JTextField jTextField1;
- private javax.swing.JTextPane jTextPane1;
- private javax.swing.JTextPane jTextPane2;
- // End of variables declaration//GEN-END:variables
-
- }
/*
* Main.java
*
* Created on 4 février 2004, 20:42
*/
import java.sql.*;
import java.io.*;
import java.util.*;
import javax.swing.table.*;
import javax.swing.*;
import java.awt.*;
public class MySql extends javax.swing.JFrame {
Connection connection;
/** Creates new form Main */
public MySql() {
initComponents();
setSize(515,535);
this.setResizable(false);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents() {//GEN-BEGIN:initComponents
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jPasswordField1 = new javax.swing.JPasswordField();
jPanel2 = new javax.swing.JPanel();
jScrollPane2 = new javax.swing.JScrollPane();
jTextPane2 = new javax.swing.JTextPane();
jPanel3 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jTextPane1 = new javax.swing.JTextPane();
jButton2 = new javax.swing.JButton();
jPanel4 = new javax.swing.JPanel();
jScrollPane3 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jButton4 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton5 = new javax.swing.JButton();
jLabel3 = new javax.swing.JLabel();
getContentPane().setLayout(null);
setTitle("MySql interface");
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
jPanel1.setLayout(null);
jLabel1.setText("user");
jPanel1.add(jLabel1);
jLabel1.setBounds(10, 10, 40, 20);
jLabel2.setText("password");
jPanel1.add(jLabel2);
jLabel2.setBounds(130, 10, 70, 24);
jTextField1.setName("user");
jTextField1.setPreferredSize(new java.awt.Dimension(50, 25));
jPanel1.add(jTextField1);
jTextField1.setBounds(50, 10, 70, 25);
jButton1.setText("connect");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel1.add(jButton1);
jButton1.setBounds(310, 10, 90, 30);
jPanel1.add(jPasswordField1);
jPasswordField1.setBounds(200, 10, 100, 28);
getContentPane().add(jPanel1);
jPanel1.setBounds(0, 0, 410, 40);
jPanel2.setLayout(new java.awt.BorderLayout());
jScrollPane2.setViewportView(jTextPane2);
jPanel2.add(jScrollPane2, java.awt.BorderLayout.CENTER);
getContentPane().add(jPanel2);
jPanel2.setBounds(10, 70, 490, 130);
jPanel3.setLayout(new java.awt.BorderLayout());
jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
jTextPane1.setText("To connect, enter your username and password");
jScrollPane1.setViewportView(jTextPane1);
jPanel3.add(jScrollPane1, java.awt.BorderLayout.CENTER);
getContentPane().add(jPanel3);
jPanel3.setBounds(10, 380, 490, 100);
jButton2.setText("execute SQL");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
getContentPane().add(jButton2);
jButton2.setBounds(290, 210, 110, 30);
jPanel4.setLayout(new java.awt.BorderLayout());
jScrollPane3.setBorder(new javax.swing.border.MatteBorder(null));
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane3.setViewportView(jTable1);
jPanel4.add(jScrollPane3, java.awt.BorderLayout.CENTER);
getContentPane().add(jPanel4);
jPanel4.setBounds(10, 250, 490, 120);
jButton4.setText("import SQL File");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
OuvrirFichierActionPerformed(evt);
}
});
getContentPane().add(jButton4);
jButton4.setBounds(150, 210, 140, 30);
jButton3.setText("show databases");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
getContentPane().add(jButton3);
jButton3.setBounds(10, 210, 140, 30);
jButton5.setText("quit");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
quitterActionPerformed(evt);
}
});
getContentPane().add(jButton5);
jButton5.setBounds(440, 480, 60, 30);
jLabel3.setText("Write your SQL code here or import a file :");
getContentPane().add(jLabel3);
jLabel3.setBounds(10, 50, 270, 24);
pack();
}//GEN-END:initComponents
private void quitterActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_quitterActionPerformed
// Add your handling code here:
System.exit(0);
}//GEN-LAST:event_quitterActionPerformed
private void OuvrirFichierActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OuvrirFichierActionPerformed
// Add your handling code here:
String currentDir=".";
String destination;
File selected;
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
File fdir = new File(currentDir);
chooser.setCurrentDirectory(fdir);
if(chooser.showDialog(this,"Choisir") == JFileChooser.APPROVE_OPTION) {
selected = chooser.getSelectedFile();
destination = new String(selected.getParent() + File.separatorChar + selected.getName());
currentDir = selected.getParent();
String s= lireFichier(destination);
jTextPane2.setText(s);
}
}//GEN-LAST:event_OuvrirFichierActionPerformed
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
// Add your handling code here:
executerSQL("show databases");
}//GEN-LAST:event_jButton3ActionPerformed
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
// Add your handling code here:
try{
String query=this.jTextPane2.getSelectedText().replace( '%', '`' );
if(connection==null) ecrireOut("you have to be identified to perform this operation");
else
{executerSQL(query);
if (query.startsWith("drop")||query.startsWith("create")) executerSQL("show tables");}
}
catch(NullPointerException excep){
ecrireOut("you have to select some code to execute");
}
}//GEN-LAST:event_jButton2ActionPerformed
void executerSQL(String query){
// executer le sql de la fenetre
if (connection==null) ecrireOut("you have to be identified to perform this operation");
try {
if ( connection == null ) {System.out.println("connection==null");return;}
Statement stm = connection.createStatement();
String catalog = connection.getCatalog();
String queryMaj = query.toUpperCase();
if ( ( queryMaj.trim().startsWith( "SELECT" ) )
|| ( queryMaj.trim().startsWith( "DESCRIBE" ) )
|| ( queryMaj.trim().startsWith( "SHOW" ) ) ) {
jTable1.removeAll();
ResultSet rs = stm.executeQuery( query );
ResultSetMetaData mdt = rs.getMetaData();
int num = mdt.getColumnCount();
DefaultTableModel df = new DefaultTableModel() {
public boolean isCellEditable( int row, int col )
{ if ( (row>>1)<<1 == row ) return true; return false; } };
for ( int i = 0; i < num; i++ ) { df.addColumn( mdt.getColumnName( i + 1 ) ); }
jTable1.setModel( df );
TableCellRenderer tbcH = createDemoHeaderRenderer();
for ( int i = 0; i < num; i++ ) {
TableColumn tc = jTable1.getTableHeader().getColumnModel().getColumn( i );
tc.setHeaderRenderer( tbcH );
tc.setCellRenderer( new DemoCellRenderer() );
}
int line = 0;
while ( rs.next() ) {
Vector v = new Vector( 10 );
for ( int col = 0; col < num; col++ )
v.addElement( rs.getString( col + 1 ) );
df.addRow( v );
line++;
}
jTextPane1.setText( line + " rows selected");
rs.close();
}
else {
ecrireOut( "SQL executer : " + query );
stm.executeUpdate( query );
}
stm.close();
}
catch ( Exception e ) {
jTextPane1.setText( "\nError execute sql : " + e );
jTextPane1.setText( "sql : " + query );
}
}
void ecrireOut(String chaine){
jTextPane1.setText(chaine);
}
class DemoCellRenderer extends JLabel
implements TableCellRenderer {
boolean isBordered = true;
Color selectedForeground = null;
Color selectedBackground = null;
Color unselectedForegroundAlt = null;
Color unselectedBackgroundAlt = new Color( 200, 200, 200 );
Color unselectedForeground = null;
Color unselectedBackground = null;
public DemoCellRenderer() {
super();
setOpaque(true);
}
public Component getTableCellRendererComponent(
JTable table, Object val,
boolean isSelected, boolean hasFocus,
int row, int column) {
setAlignmentX( CENTER_ALIGNMENT );
Font f = getFont();
if ( isSelected ) {
setFont( new Font( f.getName(), Font.PLAIN|Font.ITALIC, f.getSize() ) );
super.setForeground( ( selectedForeground != null) ? selectedForeground : table.getSelectionForeground() );
super.setBackground( ( selectedBackground != null) ? selectedBackground : table.getSelectionBackground() );
}
else {
setFont( new Font( f.getName(), Font.PLAIN, f.getSize() ) );
if ( ((column)>>1)<<1 == column - (row-((row>>1)<<1)) ) {
super.setForeground( ( unselectedForegroundAlt != null) ? unselectedForegroundAlt : table.getForeground() );
super.setBackground( ( unselectedBackgroundAlt != null) ? unselectedBackgroundAlt : table.getBackground() );
}
else {
super.setForeground( ( unselectedForeground != null) ? unselectedForeground : table.getForeground() );
super.setBackground( ( unselectedBackground != null) ? unselectedBackground : table.getBackground() );
}
}
setText( (String)val );
return this;
}
}
Color foreColor = new Color( 0, 0, 50 );
Hashtable couleur = new Hashtable( 10 );
Color defoBack = new Color( 194, 194, 194);
private TableCellRenderer createDemoHeaderRenderer() {
DefaultTableCellRenderer label = new
DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
setText((value == null) ? "" : value.toString());
if (table != null) {
JTableHeader header = table.getTableHeader();
if (header != null) {
Color back = (Color)couleur.get( getText() );
setForeground( foreColor );
setBackground( (back==null)?defoBack:back );
setFont(header.getFont());
}
}
setBorder(UIManager.getBorder("TableHeader.cellBorder"));
return this;
}
};
label.setHorizontalAlignment(JLabel.CENTER);
return label;
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// Add your handling code here:
String user=jTextField1.getText();
char[] passwd=jPasswordField1.getPassword();
connect(user,passwd);
}//GEN-LAST:event_jButton1ActionPerformed
public void connect(String user,char[] passwd) {
String out=new String();
try {
String pass = new String(passwd);
if (user.compareTo("")==0)
{jTextPane1.setText("Enter a valid username/password please");
return;}
out="Connecting to the JDBC driver\n";
Class.forName("com.mysql.jdbc.Driver").newInstance();
out=out+"Driver com.mysql.jdbc.Driver loaded\n";
try {
out=out+"Connecting to database\n";
connection = DriverManager.getConnection("jdbc:mysql://localhost/test?user="+user +
"&password="+ pass);
out=out+"Database connected\n";
} catch (SQLException ex) {
out = out + "Your user/password is not correct, try again please";
}
} catch (Exception ex) {
jTextPane1.setText("Driver loading failed\n");
}
jTextPane1.setText(out);
}
String lireFichier(String fic) {
FileReader fr = null;
LineNumberReader reader = null;
try {
fr = new FileReader(fic);
reader = new LineNumberReader(fr);
}
catch (FileNotFoundException e) {
reader = null;
ecrireOut(fic+" (fichier introuvable)");
return("");
}
String res = "";
String line;
try {
for (;;) {
line = reader.readLine();
if (line == null) break;
res += line+"\r\n";
}
}
catch (IOException e) {
ecrireOut(fic+" (lecture imposible)");
}
try {
reader.close();
fr.close();
}
catch (IOException e) {
ecrireOut(fic+" (fermeture impossible)");
}
reader = null;
return(res);
}
/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
try {
Toolkit.getDefaultToolkit().beep();
int reply = JOptionPane.showConfirmDialog(this,
"Do you really want to quit?",
"Interface MySql - Quit" ,
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if (reply == JOptionPane.YES_OPTION) {
System.exit(0);
}
} catch (Exception e) {
}
}//GEN-LAST:event_exitForm
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
new MySql().show();
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPasswordField jPasswordField1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JTable jTable1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextPane jTextPane1;
private javax.swing.JTextPane jTextPane2;
// End of variables declaration//GEN-END:variables
}
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|