public void printResultSet(ResultSet r) {
try {
r.beforeFirst();
ResultSetMetaData meta = r.getMetaData();
int nbCol = meta.getColumnCount();
for (int i = 1; i < nbCol + 1; ++i) {
if (i > 1)
System.out.print(", ");
System.out.print(meta.getColumnLabel(i));
}
System.out.println("");
while (r.next()) {
for (int i = 1; i < nbCol + 1; ++i) {
if (i > 1)
System.out.print(", ");
System.out.print(r.getString(i));
}
System.out.println("");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public ResultSet executeSelect1(String query) {
try {
return smt.executeQuery(query);
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public void printResultSet1(ResultSet r) {
try {
r.beforeFirst();
ResultSetMetaData meta = r.getMetaData();
int nbCol = meta.getColumnCount();
for (int i = 1; i < nbCol + 1; ++i) {
if (i > 1)
System.out.print(", ");
System.out.print(meta.getColumnLabel(i));
}
System.out.println("");
while (r.next()) {
for (int i = 1; i < nbCol + 1; ++i) {
if (i > 1)
System.out.print(", ");
System.out.print(r.getString(i));
}
System.out.println("");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public List<String> getSColumnFromResultSet(ResultSet r, String col) {
List<String> l = new ArrayList<String>();
try {
r.beforeFirst();
while (r.next())
l.add(r.getString(col));
}
catch (SQLException e) {
e.printStackTrace();
}
return (l);
}
}
/CODE
j'ai une autre classe AskAlbumPanel qui crée une fenêtre pour la demande du nom de l'album :
public class AskAlbumNamePanel extends JFrame implements ActionListener{
private static final long serialVersionUID = 2763707468537479660L;
private JButton boutonEnvoyer = new JButton("Envoyer");
private JTextField NomAlbum = new JTextField();
private JLabel EntrerNomAlbum = new JLabel("Entrer le nom de l'album :");
private int largeur =400;
private int hauteur = 200;
private Connexion execute = null;
public Statement stm = null;
public AskAlbumNamePanel(){
setTitle("Nom de l'Album");
setSize(largeur,hauteur);
JPanel p = new JPanel();
JPanel p1 = new JPanel();
p1.setBorder(BorderFactory.createEmptyBorder(10,0,30,0));
JPanel p2 = new JPanel();
p.setLayout(new BorderLayout());
p.add(NomAlbum,BorderLayout.CENTER);
p.add(EntrerNomAlbum,BorderLayout.WEST);
p.add(p1,BorderLayout.NORTH);
p.add(p2,BorderLayout.SOUTH);
JPanel pSud=new JPanel();
p2.setBorder(BorderFactory.createEmptyBorder(10,0,40,0));
pSud.add(p2,BorderLayout.NORTH);
pSud.add(boutonEnvoyer,BorderLayout.SOUTH);
p.add(pSud,BorderLayout.SOUTH);
public void actionPerformed(ActionEvent actionEvent) {
if (actionEvent.getSource() == boutonEnvoyer) {
final String albumName = NomAlbum.getText();
if (albumName.length()==0){
System.out.println("Pas de texte");
setTitle("Erreur : Entrer un nom d'album !");
public String getTexte(String Texte){
return Texte;
}
}
/CODE
Le problème c'est lorsque j'essaie d'envoyer le nom de l'album à partir de JTextField, on obtiens cette erreur :
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at ImagesBrowser.AskAlbumNamePanel.actionPerformed(AskAlbumNamePanel.java:70)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)