JDBC +mysql+java
Bonjour, sandul
peux tu me help pour mon code merci
le voici , je veux juste me connecter a ma BD mysql et inserer des donnes comme jour du marche et matin ou soir
package jcalendar;
//@ultrarich
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.text.DateFormatSymbols;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
public class JCalendar extends JPanel {
private Locale _locale = getDefaultLocale();
private GregorianCalendar _calendar = new GregorianCalendar();
private DateFormatSymbols _dateSymbols = new DateFormatSymbols();
private SimpleDateFormat _formatMY = new SimpleDateFormat("MMMM yyyy");
private int _firstDayOfWeek = _calendar.getFirstDayOfWeek();
private final JLabel _monthYear = new JLabel("", SwingUtilities.CENTER);
private final JLabel[] _daysOfWeek = new JLabel[7];
private final JButton[] _daysNumber = new JButton[42];
private final ActionListener _changeMonth = new ActionListener() {
public void actionPerformed(final ActionEvent ae) {
final int nb = "next".equals(ae.getActionCommand()) ? 1: -1;
_calendar.add(Calendar.MONTH, nb);
updateMonthYear();
updateDaysNumber();
}
};
public JCalendar() {
setLayout(new BorderLayout());
// Month Panel
final JPanel monthPanel = new JPanel();
final JButton previous = new JButton("<<");
previous.addActionListener(_changeMonth);
final JButton next = new JButton(">>");
next.addActionListener(_changeMonth);
next.setActionCommand("next");
_monthYear.setPreferredSize(new Dimension(320, 120));
monthPanel.add(previous);
monthPanel.add(_monthYear);
monthPanel.add(next);
add(monthPanel, BorderLayout.NORTH);
// Day Panel
final JPanel dayPanel = new JPanel();
dayPanel.setLayout(new GridLayout(7, 7));
for (int i = 0; i < 7; ++i)
dayPanel.add(_daysOfWeek[i] = new JLabel(" ", SwingUtilities.CENTER));
for (int i=0; i<_daysNumber.length; ++i)
{
//fenetre de confirmation du jour
_daysNumber[i] = new JButton();
_daysNumber[i].addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
Connection con = null;
String DB="med_consul"; // base de donnÃf©es
String Data = null;
Statement st=null; // objet d'Ãf©mission des requÃfªtes
ResultSet rs=null; // table rÃf©sultat d'une requÃfªte
String[] jm = {"Matin", "Soir"};
JOptionPane jop = new JOptionPane(), jop2 = new JOptionPane();
String nom = (String)jop.showInputDialog(null,"Choisissez un creneau pour " ,"RDV ",JOptionPane.QUESTION_MESSAGE,
null,jm,jm[0]);
if ((nom.equals("Matin"))||(nom.equals("Soir")))
{
jop2.showMessageDialog(null, "Votre disponibilite est le " + nom, "RDVvali", JOptionPane.INFORMATION_MESSAGE);
try {
try {
Class.forName ("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/med_consul");
JOptionPane.showInputDialog(null,"connection OK");
} catch (ClassNotFoundException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
} catch (SQLException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
try {
// création d'un objet Statement
st=con.createStatement();
// exécution d'une requête select
} catch (SQLException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
Data = "INSERT INTO rdv('RDV','JourduMarche','Disponibilite') VALUES(1," +nom +"'3')";
try {
rs=st.executeQuery(Data);
} catch (SQLException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
try {
con.close();
} catch (SQLException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println("Base " + DB + " fermée");
}
}
});
dayPanel.add(_daysNumber[i]);
}
add(dayPanel, BorderLayout.CENTER);
// Remplissage des composants
updateMonthYear();
updateDaysOfWeek();
updateDaysNumber();
}
// Réactualise la locale et réaffiche le contenu des composants
private void updateLocale(final Locale locale) {
_locale = locale;
final Date tmp = _calendar.getTime();
_calendar = new GregorianCalendar(_locale);
_calendar.setTime(tmp);
_firstDayOfWeek = _calendar.getFirstDayOfWeek();
_dateSymbols = new DateFormatSymbols(_locale);
_formatMY = new SimpleDateFormat("MMMM yyyy", _locale);
updateMonthYear();
updateDaysOfWeek();
updateDaysNumber();
}
// Affiche le mois et l'année en cours
private void updateMonthYear() {
_monthYear.setText(_formatMY.format(_calendar.getTime()));
}
// Affiche les jours de la semaine
private void updateDaysOfWeek() {
final String[] weekDays = _dateSymbols.getShortWeekdays();
for (int i = 1; i < weekDays.length; ++i) {
final int index = (i - 2 + _firstDayOfWeek) % 7 + 1;
_daysOfWeek[i - 1].setText(weekDays[index]);
}
}
// Affiche le numéro des jours
private void updateDaysNumber() {
//apparition des marches dans le mois
String var ="";
int M1 = 2;
int M2 = 3;
int M3 = 4;
int M4 = 6;
final Date tmp = _calendar.getTime();
_calendar.set(Calendar.DAY_OF_MONTH, 1);
final int firstDay = _calendar.get(Calendar.DAY_OF_WEEK);
final int LocalFirstDay = (firstDay - _firstDayOfWeek + 7) % 7 + 1;
boolean full = false;
for (int i = 0; i < _daysNumber.length; ++i) {
//Détermine si le composant est affiché ou non
final boolean isNotEmpty = i < LocalFirstDay - 1 || full;
_daysNumber[i].setVisible(!isNotEmpty);
// Affichage du jour
if (!isNotEmpty) {
final int dayOfMonth = _calendar.get(Calendar.DAY_OF_MONTH);
//apparitions et frequences des marches
if (dayOfMonth == M1)
{
var = var +"A";
M1 +=3;
}
if (dayOfMonth == M2)
{
var = var +"B";
M2 +=4;
}
if (dayOfMonth == M3)
{
var = var + "C";
M3 +=5;
}
if (dayOfMonth == M4)
{
var = var + "D";
M4 +=7;//frequences ....
}
_daysNumber[i].setText(String.valueOf(dayOfMonth)+var);
var = "";//retourne vide apres chaque execution
_calendar.add(Calendar.DAY_OF_MONTH, 1);
full = 1 == _calendar.get(Calendar.DAY_OF_MONTH);
}
}
_calendar.setTime(tmp);
}
public static void main(final String[] args)
throws SQLException {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame("Prog Doc ");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new JCalendar());
frame.pack();
frame.setVisible(true);
}
});
}
}
peux tu me help pour mon code merci
le voici , je veux juste me connecter a ma BD mysql et inserer des donnes comme jour du marche et matin ou soir
package jcalendar;
//@ultrarich
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.text.DateFormatSymbols;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
public class JCalendar extends JPanel {
private Locale _locale = getDefaultLocale();
private GregorianCalendar _calendar = new GregorianCalendar();
private DateFormatSymbols _dateSymbols = new DateFormatSymbols();
private SimpleDateFormat _formatMY = new SimpleDateFormat("MMMM yyyy");
private int _firstDayOfWeek = _calendar.getFirstDayOfWeek();
private final JLabel _monthYear = new JLabel("", SwingUtilities.CENTER);
private final JLabel[] _daysOfWeek = new JLabel[7];
private final JButton[] _daysNumber = new JButton[42];
private final ActionListener _changeMonth = new ActionListener() {
public void actionPerformed(final ActionEvent ae) {
final int nb = "next".equals(ae.getActionCommand()) ? 1: -1;
_calendar.add(Calendar.MONTH, nb);
updateMonthYear();
updateDaysNumber();
}
};
public JCalendar() {
setLayout(new BorderLayout());
// Month Panel
final JPanel monthPanel = new JPanel();
final JButton previous = new JButton("<<");
previous.addActionListener(_changeMonth);
final JButton next = new JButton(">>");
next.addActionListener(_changeMonth);
next.setActionCommand("next");
_monthYear.setPreferredSize(new Dimension(320, 120));
monthPanel.add(previous);
monthPanel.add(_monthYear);
monthPanel.add(next);
add(monthPanel, BorderLayout.NORTH);
// Day Panel
final JPanel dayPanel = new JPanel();
dayPanel.setLayout(new GridLayout(7, 7));
for (int i = 0; i < 7; ++i)
dayPanel.add(_daysOfWeek[i] = new JLabel(" ", SwingUtilities.CENTER));
for (int i=0; i<_daysNumber.length; ++i)
{
//fenetre de confirmation du jour
_daysNumber[i] = new JButton();
_daysNumber[i].addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
Connection con = null;
String DB="med_consul"; // base de donnÃf©es
String Data = null;
Statement st=null; // objet d'Ãf©mission des requÃfªtes
ResultSet rs=null; // table rÃf©sultat d'une requÃfªte
String[] jm = {"Matin", "Soir"};
JOptionPane jop = new JOptionPane(), jop2 = new JOptionPane();
String nom = (String)jop.showInputDialog(null,"Choisissez un creneau pour " ,"RDV ",JOptionPane.QUESTION_MESSAGE,
null,jm,jm[0]);
if ((nom.equals("Matin"))||(nom.equals("Soir")))
{
jop2.showMessageDialog(null, "Votre disponibilite est le " + nom, "RDVvali", JOptionPane.INFORMATION_MESSAGE);
try {
try {
Class.forName ("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/med_consul");
JOptionPane.showInputDialog(null,"connection OK");
} catch (ClassNotFoundException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
} catch (SQLException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
try {
// création d'un objet Statement
st=con.createStatement();
// exécution d'une requête select
} catch (SQLException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
Data = "INSERT INTO rdv('RDV','JourduMarche','Disponibilite') VALUES(1," +nom +"'3')";
try {
rs=st.executeQuery(Data);
} catch (SQLException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
try {
con.close();
} catch (SQLException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println("Base " + DB + " fermée");
}
}
});
dayPanel.add(_daysNumber[i]);
}
add(dayPanel, BorderLayout.CENTER);
// Remplissage des composants
updateMonthYear();
updateDaysOfWeek();
updateDaysNumber();
}
// Réactualise la locale et réaffiche le contenu des composants
private void updateLocale(final Locale locale) {
_locale = locale;
final Date tmp = _calendar.getTime();
_calendar = new GregorianCalendar(_locale);
_calendar.setTime(tmp);
_firstDayOfWeek = _calendar.getFirstDayOfWeek();
_dateSymbols = new DateFormatSymbols(_locale);
_formatMY = new SimpleDateFormat("MMMM yyyy", _locale);
updateMonthYear();
updateDaysOfWeek();
updateDaysNumber();
}
// Affiche le mois et l'année en cours
private void updateMonthYear() {
_monthYear.setText(_formatMY.format(_calendar.getTime()));
}
// Affiche les jours de la semaine
private void updateDaysOfWeek() {
final String[] weekDays = _dateSymbols.getShortWeekdays();
for (int i = 1; i < weekDays.length; ++i) {
final int index = (i - 2 + _firstDayOfWeek) % 7 + 1;
_daysOfWeek[i - 1].setText(weekDays[index]);
}
}
// Affiche le numéro des jours
private void updateDaysNumber() {
//apparition des marches dans le mois
String var ="";
int M1 = 2;
int M2 = 3;
int M3 = 4;
int M4 = 6;
final Date tmp = _calendar.getTime();
_calendar.set(Calendar.DAY_OF_MONTH, 1);
final int firstDay = _calendar.get(Calendar.DAY_OF_WEEK);
final int LocalFirstDay = (firstDay - _firstDayOfWeek + 7) % 7 + 1;
boolean full = false;
for (int i = 0; i < _daysNumber.length; ++i) {
//Détermine si le composant est affiché ou non
final boolean isNotEmpty = i < LocalFirstDay - 1 || full;
_daysNumber[i].setVisible(!isNotEmpty);
// Affichage du jour
if (!isNotEmpty) {
final int dayOfMonth = _calendar.get(Calendar.DAY_OF_MONTH);
//apparitions et frequences des marches
if (dayOfMonth == M1)
{
var = var +"A";
M1 +=3;
}
if (dayOfMonth == M2)
{
var = var +"B";
M2 +=4;
}
if (dayOfMonth == M3)
{
var = var + "C";
M3 +=5;
}
if (dayOfMonth == M4)
{
var = var + "D";
M4 +=7;//frequences ....
}
_daysNumber[i].setText(String.valueOf(dayOfMonth)+var);
var = "";//retourne vide apres chaque execution
_calendar.add(Calendar.DAY_OF_MONTH, 1);
full = 1 == _calendar.get(Calendar.DAY_OF_MONTH);
}
}
_calendar.setTime(tmp);
}
public static void main(final String[] args)
throws SQLException {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame("Prog Doc ");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new JCalendar());
frame.pack();
frame.setVisible(true);
}
});
}
}
25 réponses
Résumé de la discussion
Le fil analyse une application Java Swing qui tente de se connecter à une base MySQL et d’insérer des RDV via JDBC à partir d’un calendrier intégré dans une interface graphique locale. La difficulté principale est une ClassNotFoundException pour com.mysql.jdbc.Driver, et plusieurs intervenants préconisent d’ajouter le driver MySQL Connector/J au projet en joignant le JAR via NetBeans. D’autres réponses insistent sur la vérification du chemin du JAR et proposent d’utiliser executeUpdate pour les insertions, afin d’éviter les erreurs liées à l’utilisation de executeQuery.
-
exemple de tuto de connexion jdbc
http://sourcetutorial.com/connexion-a-mysql-avec-le-driverjdbc/-
-
J'ai terminé mon application Java sous éclipse, et j'ai mon .JAR.
Maintenant je veux la convertir en Web Service.
Je veux que mon application s'exécute dans des pages Web, comme si c'était un site Web normal!!
Es-ce-possible sans recorder toute mon application.
J'ai fais des recherche sur JWS, RMI et JNLP, mais sans succès!!
Merci de me fournir des tutos précis.
Cordialement.
Ultrarich -
-
-
dis moi je veux maintenant afficher tous les rdv enregistrer dans une autre fenetre avec des contraintes comme:
- possibilite de l'enlever de la selection dans la nouvelle fenetre mais dans la base
- possibilite d'avoir apres MAJ la nouvelle selection
tout ceci dans une autre fenetre qui apparait
ensuite quand j'enleve un rdv de la selection il prend comme attribut dans la base "s" et "D" s'il est toujours dans la selection .
pour finir ,l'utilisateur recoit par sms le programme du mois ou de la semaine et a partir de son phone envoie un autre mesage vers le serveur gsm pour confirmer le rdv et automatiquement le doc recoit un message et confirme ou infirme le rdv ensuite l'utilisateur recoit un autre sms avec les nouvelles dispoinibilite du docteur .je sais il y aura de teleinformatique .comment toi tu t'y prendrais ?
-
-
Bonjour , mes excuses mais j'ai eu un souci de connection voila je viens de telecharger le connecteur ,mais je touve pas de fichier bin.jar plutot celui ci
mysql-connector-java-5.1.21-bin c;est celui la que j'ajoute a mon code ? -
Salut!
L'erreur provient du fait que ton application ne trouve pas la classe "com.mysql.jdbc.Driver".
Tu as certainement oublié d'inclure le fichier JAR qui contient cette classe dans les dépendances de ton application.
Tu dois:
- te rendre sur https://dev.mysql.com/downloads/connector/j/
- y télécharger le fichier ZIP "Platform Independent (Architecture Independent), ZIP"
- décompresser ce fichier ZIP quelque part sur ton disque dur
- dans le répertoire où tu as décompressé, rechercher le fichier mysql-connector-java-<versionDuFichier>-bin.jar
- ajouter ce fichier aux dépe,dances de ton projet
... et ça va fonctionner ;-)
N'oublie pas de supprimer toutes les autres dépendances éventuelles vers un autre driver MySQL de ton projet, sans quoi tu risques d'avoir des conflits de classes entre les différents JAR
;-) -
ok
-
ContributeurOui je vais installer Netbeans pour voir ^.^
-
tu as d'otre solutions si oui je suis partant o point ou j'en suis
-
il est ien la dans libraries juste au dessus du JDK 1.6 keske tu en pense ? moi ca me depasse cela fait 3 semaines je suis dessus juste une connection bon dis on fait comment now? vraiment merci pour ton aide
-
ContributeurTu as bien ajouté le fichier .jar au projet?
-
oui il est bien la , je te montre le chemin C:\Users\ULTRARICH\Downloads\Compressed\mysql-connector-java-5.1.21\mysql-connector-java-5.1.21\mysql-connector-java-5.1.21-bin\com\mysql\jdbc\Driver.class
ke dois je faire now? -
ContributeurNon je ne pense pas que le code soit mauvais, sinon l'erreur serait différente.
Le fichier mysql-conector-xxxx.jar, tu l'ouvres avec winrar par exemple.
Ensuite tu te rends dans le répertoire com, puis mysql, puis jdbc.
De là tu regardes s'il existe bien dans la liste un fichier nommé Driver.class. -
non je l'ai pas vu dans ce cas je dois faire comment ? j'espere ke cela n'a rien avoir avec classpath ?
rassure moi stp mon code est bon ? ou cela a besoinde retouche -
ContributeurTu peux dans ce cas ouvrir le package du connecteur mysql et vérifier que le .class Driver existe dans com.mysql.jdbc? Avec winrar ou autre?
Cela m'est arrivé une seule fois d'avoir un connecteur qui ne contenait même pas les classes de connexion JDBC. -
je viens de le faire meme resultat comme tu me l'a dit dans la librairie de mon code java
-
ContributeurUltrarich, l'erreur est bien sur :
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Jetée sûr à l'appui sur un bouton et à l'actionPerformed qui en découle :
at jcalendar.JCalendar$2.actionPerformed(JCalendar.java:108)
Peux-tu essayer ceci ? :
"Salut,
Pour inclure le .jar dans ton projet NetBeans, tu fait un click droit sur le dossier lib de ton projet puis ajouter un JAR.
Ca devrait fonctionner. " -
Voici mon code java
package jcalendar;
//@ultrarich
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.text.DateFormatSymbols;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
public class JCalendar extends JPanel {
private Locale _locale = getDefaultLocale();
private GregorianCalendar _calendar = new GregorianCalendar();
private DateFormatSymbols _dateSymbols = new DateFormatSymbols();
private SimpleDateFormat _formatMY = new SimpleDateFormat("MMMM yyyy");
private int _firstDayOfWeek = _calendar.getFirstDayOfWeek();
private final JLabel _monthYear = new JLabel("", SwingUtilities.CENTER);
private final JLabel[] _daysOfWeek = new JLabel[7];
private final JButton[] _daysNumber = new JButton[42];
private final ActionListener _changeMonth = new ActionListener() {
public void actionPerformed(final ActionEvent ae) {
final int nb = "next".equals(ae.getActionCommand()) ? 1: -1;
_calendar.add(Calendar.MONTH, nb);
updateMonthYear();
updateDaysNumber();
}
};
public JCalendar() {
setLayout(new BorderLayout());
// Month Panel
final JPanel monthPanel = new JPanel();
final JButton previous = new JButton("<<");
previous.addActionListener(_changeMonth);
final JButton next = new JButton(">>");
next.addActionListener(_changeMonth);
next.setActionCommand("next");
_monthYear.setPreferredSize(new Dimension(320, 120));
monthPanel.add(previous);
monthPanel.add(_monthYear);
monthPanel.add(next);
add(monthPanel, BorderLayout.NORTH);
// Day Panel
final JPanel dayPanel = new JPanel();
dayPanel.setLayout(new GridLayout(7, 7));
for (int i = 0; i < 7; ++i)
dayPanel.add(_daysOfWeek[i] = new JLabel(" ", SwingUtilities.CENTER));
for (int i=0; i<_daysNumber.length; ++i)
{
//fenetre de confirmation du jour
_daysNumber[i] = new JButton();
_daysNumber[i].addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
Connection con = null;
String DB="med_consul"; // base de donnÃf©es
String Data = null;
Statement st=null; // objet d'Ãf©mission des requÃfªtes
ResultSet rs=null; // table rÃf©sultat d'une requÃfªte
String[] jm = {"Matin", "Soir"};
JOptionPane jop = new JOptionPane(), jop2 = new JOptionPane();
String nom = (String)jop.showInputDialog(null,"Choisissez un creneau pour " ,"RDV ",JOptionPane.QUESTION_MESSAGE,
null,jm,jm[0]);
if ((nom.equals("Matin"))||(nom.equals("Soir")))
{
jop2.showMessageDialog(null, "Votre disponibilite est le " + nom, "RDVvali", JOptionPane.INFORMATION_MESSAGE);
try {
try {
Class.forName ("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/med_consul");
JOptionPane.showInputDialog(null,"connection OK");
} catch (ClassNotFoundException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
} catch (SQLException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
try {
// création d'un objet Statement
st=con.createStatement();
// exécution d'une requête select
} catch (SQLException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
Data = "INSERT INTO rdv('RDV','JourduMarche','Disponibilite') VALUES(1," +nom +"'3')";
try {
rs=st.executeQuery(Data);
} catch (SQLException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
try {
con.close();
} catch (SQLException ex) {
Logger.getLogger(JCalendar.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println("Base " + DB + " fermée");
}
}
});
dayPanel.add(_daysNumber[i]);
}
add(dayPanel, BorderLayout.CENTER);
// Remplissage des composants
updateMonthYear();
updateDaysOfWeek();
updateDaysNumber();
}
// Réactualise la locale et réaffiche le contenu des composants
private void updateLocale(final Locale locale) {
_locale = locale;
final Date tmp = _calendar.getTime();
_calendar = new GregorianCalendar(_locale);
_calendar.setTime(tmp);
_firstDayOfWeek = _calendar.getFirstDayOfWeek();
_dateSymbols = new DateFormatSymbols(_locale);
_formatMY = new SimpleDateFormat("MMMM yyyy", _locale);
updateMonthYear();
updateDaysOfWeek();
updateDaysNumber();
}
// Affiche le mois et l'année en cours
private void updateMonthYear() {
_monthYear.setText(_formatMY.format(_calendar.getTime()));
}
// Affiche les jours de la semaine
private void updateDaysOfWeek() {
final String[] weekDays = _dateSymbols.getShortWeekdays();
for (int i = 1; i < weekDays.length; ++i) {
final int index = (i - 2 + _firstDayOfWeek) % 7 + 1;
_daysOfWeek[i - 1].setText(weekDays[index]);
}
}
// Affiche le numéro des jours
private void updateDaysNumber() {
//apparition des marches dans le mois
String var ="";
int M1 = 2;
int M2 = 3;
int M3 = 4;
int M4 = 6;
final Date tmp = _calendar.getTime();
_calendar.set(Calendar.DAY_OF_MONTH, 1);
final int firstDay = _calendar.get(Calendar.DAY_OF_WEEK);
final int LocalFirstDay = (firstDay - _firstDayOfWeek + 7) % 7 + 1;
boolean full = false;
for (int i = 0; i < _daysNumber.length; ++i) {
//Détermine si le composant est affiché ou non
final boolean isNotEmpty = i < LocalFirstDay - 1 || full;
_daysNumber[i].setVisible(!isNotEmpty);
// Affichage du jour
if (!isNotEmpty) {
final int dayOfMonth = _calendar.get(Calendar.DAY_OF_MONTH);
//apparitions et frequences des marches
if (dayOfMonth == M1)
{
var = var +"A";
M1 +=3;
}
if (dayOfMonth == M2)
{
var = var +"B";
M2 +=4;
}
if (dayOfMonth == M3)
{
var = var + "C";
M3 +=5;
}
if (dayOfMonth == M4)
{
var = var + "D";
M4 +=7;//frequences ....
}
_daysNumber[i].setText(String.valueOf(dayOfMonth)+var);
var = "";//retourne vide apres chaque execution
_calendar.add(Calendar.DAY_OF_MONTH, 1);
full = 1 == _calendar.get(Calendar.DAY_OF_MONTH);
}
}
_calendar.setTime(tmp);
}
public static void main(final String[] args)
throws SQLException {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame("Prog Doc ");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new JCalendar());
frame.pack();
frame.setVisible(true);
}
});
}
} -
on dirait ces lignes try {
// création d'un objet Statement
st=con.createStatement();
si oui merci de m'indiquer le code normal stp -
Bonjour,
En java la règle à savoir est la suivante :
Dans les messages d'erreurs toujours regarder la dernière ligne ^^ qui est donc :
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Perso, trop de paté de code j'ai pas lu ^^, mais là ton java te dit : oulalaaa problème d'evenement ligne 122 !! (ouais ou 121 quoi :p) <=java swing -
je suis passer par propriétés de mon programme ensuite librairie et j'ai clique sur add/jar folder qlq chose de comme et j'ai bien ajouter ce connecteur " mysql-connector-java-5.1.21" k'en pense tu car il dit kil ne trouve pas le classe ou bien je dois faire une autre classe de connection dans le meme package si oui comment puis je faire ie le code merci
-
ContributeurPourtant il dit bien qu'il ne le trouve pas :
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
IL faut donc vérifier si le connecteur JDBC a bien été rajouté au projet. -
le voici
et ceci m'empeche d'inserer mes donnees or j'ai deja installe le connecteur jdbc et tester la connection en localhost et cela est ok
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Meth
at java.lang.Class.forName(Class.java:169)
at jcalendar.JCalendar$2.actionPerformed(JCalendar.java:108)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6290)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6055)
at java.awt.Container.processEvent(Container.java:2039)
at java.awt.Component.dispatchEventImpl(Component.java:4653)
at java.awt.Container.dispatchEventImpl(Container.java:2097)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
at java.awt.Container.dispatchEventImpl(Container.java:2083)
at java.awt.Window.dispatchEventImpl(Window.java:2482)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:648)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:607)
at java.awt.EventQueue$1.run(EventQueue.java:605)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:621)
at java.awt.EventQueue$2.run(EventQueue.java:619)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:618)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at jcalendar.JCalendar$2.actionPerformed(JCalendar.java:123)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6290)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6055)
at java.awt.Container.processEvent(Container.java:2039)
at java.awt.Component.dispatchEventImpl(Component.java:4653)
at java.awt.Container.dispatchEventImpl(Container.java:2097)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
at java.awt.Container.dispatchEventImpl(Container.java:2083)
at java.awt.Window.dispatchEventImpl(Window.java:2482)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:648)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:607)
at java.awt.EventQueue$1.run(EventQueue.java:605)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:621)
at java.awt.EventQueue$2.run(EventQueue.java:619)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:618)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
- 1
- 2
Suivant