bonjour,
voila, je début sur processing. j'ai un programme avec une interface et un boutton.
ce programme est un annuaire, pour l'instant il doit juste ajouter des personnes via un button ajouter. mais voila processing me dit qu'il n'y a pas de probleme mais quand je lance le programme l'interface ne s'affiche pas et je ne comprend pas pourquoi.
vous pouvez m'aider SVP merci
voici mon programme
//import de la librairie pour la création des différentes classes et fonctions
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Personne{
String nom;
String adresse;
String telephone;
//construit une nouvelle personne avec les parametres
//entrée variable n pour nom
//variable a pour adresse
//variable tel pour telephone
//sortie rien
Personne (String n, String a, String tel){
nom=n;
adresse=a;
telephone=tel;
}
//accesseurs
//donner le nom
//sortie nom
String getNom(){
return nom;
}
//donner le telephone
//sortie telephone
String getTelephone(){
return telephone;
}
//donner l'adresse
//sortie l'adresse
String getAdresse(){
return adresse;
}
}
class Agenda{
ArrayList Liste_personne;
Agenda(){
//créer une liste de personne
Liste_personne=new ArrayList();
}
//alimente la liste personne
//entrée personne
//sortie nouvelle liste
void ajouter_personne(String nn, String aa, String tt){
Liste_personne.add(new Personne (nn,aa,tt));
}
}
//création de l'interface agenda
class Fenetre extends JFrame implements ActionListener{
JTextField nom, adresse, telephone;
JButton b_ajouter;
Agenda g;
int num_cour;
// constructeur de la class JFrame
public Fenetre (Agenda gg){
setTitle ("AGENDA");
Container cf=this.getContentPane();
GridLayout d=new GridLayout (4,1);
cf.setLayout(d);
/*créer un objet (nom) et le place sur l'objet fenêtre par l'objet "couche" cf=1*/
JPanel p1=new JPanel();
p1.add( new JLabel ("NOM"));
nom=new JTextField (20);
p1.add (nom);
cf.add (p1);
/*créer un objet (adresse) et le place sur l'objet fenêtre par l'objet "couche" cf=2*/
JPanel p2=new JPanel();
p2.add( new JLabel ("ADRESSE"));
nom=new JTextField (20);
p2.add (adresse);
cf.add (p2);
/*créer un objet (telephone) et le place sur l'objet fenêtre par l'objet "couche" cf=3*/
JPanel p3=new JPanel();
p3.add( new JLabel ("TELEPHONE"));
nom=new JTextField (10);
p3.add (telephone);
cf.add (p3);
/*créer plusieur objet (ajouter, modifier et supprimer) associer a leur bouton respectif et le place sur l'objet fenêtre par l'objet "couche" cf=4*/
JPanel p4=new JPanel();
b_ajouter=new JButton ("AJOUTER");
p4.add (b_ajouter);
cf.add (p4);
/*interface qui a pour but la reception de l'action de l'événement*/
b_ajouter.addActionListener (this);
g=gg;
num_cour=0;
}
/*la méthode est invoquée si l'action se produit.
*chaque action renvoie sa fonction*/
void actionPerformed (ActionEvent e){
Object source=e.getSource();
if (source==b_ajouter)
ajouter_pers();
}
/*entré variable n,a,tel
return liste completer*/
void ajouter_pers(){
String n=nom.getText();
String a=adresse.getText();
String tel=telephone.getText();
g.ajouter_personne (n,a,tel);
num_cour=g.Liste_personne.size();
}
}
class swgagend1{
void main(String args[]){
Agenda g1=new Agenda();
Fenetre f1=new Fenetre (g1);
f1.pack();
f1.setVisible(true);
}
}
Hors ligne
Bonjour,
Je crois que ton code est en java, et l'environnement de programmation de processing n'est pas le meilleur truc pour utiliser Swing et AWT, voila ce que dit la faq de processing à propos des rapports p5 / java:
« The main rule when using Java code: You cannot use most of the AWT or Swing (which is built on the AWT), because it will interfere with the graphics model. If you want to add scroll bars and buttons to your projects, you should make them using Processing code, or embed your Processing applet inside another Swing or AWT application (see below). Even if they appear to work, such sketches will usually break when you try to run on other operating systems or other versions of Java. »
Hors ligne