IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Petit problème pour mon projet


Sujet :

Langage Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 183
    Points : 96
    Points
    96
    Par défaut Petit problème pour mon projet
    Bonjour,

    Pour commencer je ne sais pas si je poste au bon endroit donc veuillez m'excuser si ce n'est pas le cas.

    Voila je vous expose mon probleme. Je suis sur la création d'un projet ou je réalise un petit éditeur de tutoriel pour mon site.

    J'ai pour le moment créé toute la partie graphique, les objets sont tous en place dans ma fenêtre, mais pour la suite je bloque complètement.

    je ne sais pas comment faire pour les événement ouvrir un tuto, enregistrer ce que l'on écrit avec insertion de balise xml, dans le genre:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <minituto>
      <intro>
     
      </intro>
      <contenue>
     
      </contenu>
      <conclusion>
     
      </conclusion>
    </minituto>
    Enfin je n'en suis pas la, et je ne sais pas comment faire réellement. Comment faire que dans l'explorateur de tuto (que j ai nommé), pour la sélection de la partie a éditer et plein d'autre chose.

    Je me demandais si une personne expérimentée assez sympa pourrait m'aider a avancer dans mon projet, me dire ce qui faut faire avec des exemples, je ne demande pas a ce que l'on me fasse le tout, mais que l'on m'aide concrètement a avancer, qu'on me corrige voir éventuellement si j'ai de gros soucis qu'on me fasse la page en m'expliquant comment, enfin toute aide est la bienvenue.

    Si une personne est d'accord pour me donner un coup de main, merci beaucoup de me le faire savoir par MP et je vous remercie grandement pour votre future aide.

    dad72

  2. #2
    Membre éclairé

    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 510
    Points : 803
    Points
    803
    Par défaut
    salut heu ca m'étonnerai que tu ai beaucoup de réponse ici tu es dans le forum java et ce que tu écrit ne ressemble pas a du java . Je te conseille de poster dans la partie XML du forum
    "La seule chose dont je sois certain, c'est que je doute"
    j'ai cassé ma boule de cristal veuillez être clair et précis dans vos propos
    compilateur - 1 nayah - 0
    PS : je suis un

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 183
    Points : 96
    Points
    96
    Par défaut
    Non non, je poste bien pour du java.

    le xml que je montre est un exemple de fichier de sortie a l enregistrement d un tutoriel écrit sur un programme fait en java.

    Ma demande est pour avoir de l aide en général par msn ou mail sur un programme en java qui comporte une 20 ene de page.

    Je ne pense pas que mon sujet a été lus entièrement, je ne demande pas d aide en xml, mais comment avancer dans mon programme pour tout ce qui est gestion des événements.

    Vous remerciant par avance

    dad72

  4. #4
    Membre éclairé

    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 510
    Points : 803
    Points
    803
    Par défaut
    Autant pour moi j'avais mal compris.

    si j'ai bien compris tu cherche des infos sur la gestion des évènements c'est ca ? Tous ce que je peux te dire comme ca sans exemple précis c'est de t'interresser (trés fortement) aux classe listener... ce sont elles qui te permettent de gérer les évènements.
    "La seule chose dont je sois certain, c'est que je doute"
    j'ai cassé ma boule de cristal veuillez être clair et précis dans vos propos
    compilateur - 1 nayah - 0
    PS : je suis un

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 183
    Points : 96
    Points
    96
    Par défaut
    Oui je connait les classe listener, mais je bloque sur d autre point.

    en faite le projet est assez gros pour un débutant, mais je mis serais jamais mi si je n avais pas eu besoin de faire ce logiciel, mais il se trouve que il faut que je le face pour faciliter la rédaction de tuto et de pouvoir le faire hors ligne, aussi tout ceux qui souhaite faire des tutoriel pourrais utiliser le logiciel, il n est donc pas pour un but commercial.

    Bien sur les personnes qui m aiderais a réaliser le programme serais citer comme il se doit dans le "A propos" du menue "Aide".

    dad72

  6. #6
    Membre éclairé

    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 510
    Points : 803
    Points
    803
    Par défaut
    bon tes classes sont vraiment imposante alors pour plus de facilité de compréhension et une aide plus efficace je propose qu'on fasse les chose point par point.... choisit un des événements sur lesquels tu bloques et poste uniquement les bouts de code qui le gere ensuite explique le résultat que tu désire et on verra ensemble comment faire.... c'est trop gros pour te donner une réponse complete

    il vaut mieux faire ca en plusieurs fois.
    "La seule chose dont je sois certain, c'est que je doute"
    j'ai cassé ma boule de cristal veuillez être clair et précis dans vos propos
    compilateur - 1 nayah - 0
    PS : je suis un

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 183
    Points : 96
    Points
    96
    Par défaut
    Voila je vais essayer d aller dans l ordre, j ai fait la classe juste pour créer un nouveau mini-tuto et big-tuto.

    je souhaiterais que lorsque je créer un mini tuto par exemple, cela ajoute les éléments dans "l explorateur de tuto", class que j ai mis en second. (voir l images du programme)

    donc en faite dans l explorateur on y verrais (en créant le min-tuto) le titre du tuto, puis l intro et le contenue et la conclusions comme base de départ
    par le suite on pourras y ajouter les sous chapitre qui ajoute des contenue qui peuvent être également organiserez.
    mais comme tu dit faisons point par point, je voudrais créer la base hiérarchique a la création d un mini tuto.


    Class MonMenu.java
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    package MonEditeur;
     
    import java.awt.event.InputEvent;
    import java.awt.event.KeyEvent;
    import javax.swing.ImageIcon;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.KeyStroke;
     
    @SuppressWarnings("serial")
    public class MonMenu extends JMenuBar {	
     
    		private JMenu fichier;
    		private JMenu nouveau;
     
    public MonMenu() {
    			super();
    			createMenuFichier();				
    	}
     
     
    public void addAllListeners(FichierListener listener) {
    		nouvTutoBig.addActionListener(listener);	
    		nouvTutoMini.addActionListener(listener);
    }
     
     
    private void createMenuFichier() {		
    		fichier = new JMenu("Fichier");
    		fichier.setMnemonic('F');		
    				nouveau = new JMenu("Nouveau tutoriel");
    				nouveau.setIcon(new ImageIcon("data/img/menu/book_open.png"));
    				nouveau.setMnemonic('N');					
    					nouvTutoBig = new JMenuItem ("Big-tutoriel");	
    					nouvTutoBig.setIcon(new ImageIcon("data/img/menu/book_edit_big.png"));
    					nouvTutoBig.setMnemonic('B');	
    					nouvTutoBig.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_B,InputEvent.CTRL_MASK));
    					nouvTutoBig.setToolTipText("Créer un nouveau Big tutoriel");					
     
    					nouvTutoMini = new JMenuItem ("Mini-tutoriel");
    					nouvTutoMini.setIcon(new ImageIcon("data/img/menu/book_edit_mini.png"));
    					nouvTutoMini.setMnemonic('M');
    					nouvTutoMini.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_M,InputEvent.CTRL_MASK));
    					nouvTutoMini.setToolTipText("Créer un nouveau Mini tutoriel");
     
    	fichier.add(nouveau);			
    			nouveau.add(nouvTutoBig);
    				nouveau.addSeparator();
    			nouveau.add(nouvTutoMini);
     
     
    	this.add(fichier);
    }
     
    public JMenuItem getnouvTutoBig() {
    	return nouvTutoBig;
     }
    public JMenuItem getnouvTutoMini() {
             return nouvTutoMini;
     }
     
    }

    la c est la class de l explorateur de tuto, la hiérarchie, je crois que elle n est pas dynamique du tout, je souhaiterais que chaque élément soit éditable pour le titre, du tuto par exemple si on clique sur le titre on peux le modifier ou autrement du moment que le titre peux se modifier.

    Aussi lorsque on clique sur le contenue dans "l explorateur de tuto", on aperçoive dans l éditeur (partie ou on écrit) le texte taper qui corespond si on a deja écrit quelque chose. pareil si on clique sur l intro par exemple cela affiche l intro que l on a écrit ....

    Je c'est pas si c est simple a faire, mais j ai aucun idée de comment faire, mais je c est que c est possible.

    class Explorateur.java
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    package MonEditeur;
     
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
     
    import javax.swing.ImageIcon;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTree;
    import javax.swing.tree.DefaultMutableTreeNode;
     
    @SuppressWarnings("serial")
    public class Explorateur extends JPanel {	
     
    	private JTree tree;		
     
    	public Explorateur() {
    		super();		
    		createexplorateur();			
    	}
     
    	private void createexplorateur(){
     
    		this.setLayout(new GridBagLayout());
    		GridBagConstraints c = new GridBagConstraints();
     
    			ImageIcon iconeesplor = new ImageIcon("data/img/prog/orgchrt2.gif");
    			JLabel label = new JLabel ("<html><font color='green'>Explorateur de tutoriel</font></html>", iconeesplor, JLabel.LEFT); //label de l explorateur
    			label.setHorizontalTextPosition(JLabel.RIGHT);	
     
    				//variable provisoir
    				int $nbpartie = 4; // declaration du nombre de partie  , 0 si mini tuto et 2 ou + si big tuto   
    				int $nchapitremini = 0;// decalration du nombre de chapitre du mini tuto, 0 si big tuto et 2 si mini tuto
    				int $nchapitre = 4;// decalration du nombre de chapitre 2 ou + si big tuto ou mini tuto
     
    			DefaultMutableTreeNode racine = new DefaultMutableTreeNode("Titre du tutoriel");
    		    DefaultMutableTreeNode titre;
    		    DefaultMutableTreeNode grandtitre; 		    
    		    tree = new JTree(racine);
     
     
    		titre = new DefaultMutableTreeNode("Introduction");	
    		racine.add(titre);
    		    // big tuto
    		for(int titreIndex = 1; titreIndex < $nbpartie; titreIndex++)// partie
    			{	
     
    		        titre = new DefaultMutableTreeNode("Partie" + titreIndex);
    		        racine.add(titre);
     
    		        for(int grandtitreIndex = 1; grandtitreIndex < $nchapitre; grandtitreIndex++)// chapitre
    		        {
     
    		        	for(int grandtitreIndex1 = 1; grandtitreIndex1 < 2; grandtitreIndex1++)
    		        	{
     
    		        		grandtitre = new DefaultMutableTreeNode("Introduction" +  titreIndex + "." + grandtitreIndex);
    		        		titre.add(grandtitre);
    					}	
     
    		        		grandtitre = new DefaultMutableTreeNode("Chapitre" + titreIndex + "." + grandtitreIndex);
    		        		titre.add(grandtitre);	 
     
    		        	for(int grandtitreIndex2 = 1; grandtitreIndex2 < 2; grandtitreIndex2++)
    		        	{ 
     
    		        		grandtitre = new DefaultMutableTreeNode("Conclusion" +  titreIndex  + "." + grandtitreIndex);
    		        		titre.add(grandtitre);
    		        	}
    				} 
    			}
    			// mini tuto
    		    for(int grandtitreIndex4 = 1; grandtitreIndex4 < $nchapitremini; grandtitreIndex4++)
    		    { 		    	
    		        	grandtitre = new DefaultMutableTreeNode("Chapitre" + grandtitreIndex4);
    		        	titre.add(grandtitre);
    			}    	
    		titre = new DefaultMutableTreeNode("Conclusion");		
    		racine.add(titre);
     
     
    		c.anchor = GridBagConstraints.FIRST_LINE_START; c.fill = GridBagConstraints.BOTH; c.gridx =  1; c.gridy =  1; c.gridwidth =  5; c.gridheight = 2;	c.weightx =  150; c.weighty =  0; 
    			this.add(label, c);// label de l explorateur	
    		c.anchor = GridBagConstraints.FIRST_LINE_START; c.fill = GridBagConstraints.BOTH; c.gridx =  1; c.gridy =  3; c.gridwidth =  5; c.gridheight = 16 ; c.weightx =  150; c.weighty =  910;    			
        		this.add(tree, c);	//tree	
    	}
     
    }


    ici c est le fichier listener qui créer le nouveau mini-tuto ou le big-tuto suivant le choix de la personne:


    class FichierListener.java
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    package MonEditeur;
     
    import java.awt.Desktop;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.print.PrinterException;
    import java.io.EOFException;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.net.URISyntaxException;
    import java.net.URL;
    import java.text.MessageFormat;
     
    import javax.swing.Icon;
    import javax.swing.ImageIcon;
    import javax.swing.JEditorPane;
    import javax.swing.JFileChooser;
    import javax.swing.JOptionPane;
    import javax.swing.JTextPane;
    import javax.swing.event.HyperlinkEvent;
    import javax.swing.event.HyperlinkListener;
     
    import com.dad72.util.Echo;
     
     
    class  FichierListener implements ActionListener
    {
     
    			private JFileChooser choix = new JFileChooser();			
    			private BarreOutil outil;			
    			private MonMenu menu;
     
    	if(source == menu.getnouvTutoBig() || source == outil.getnouvTutoBig()){				
    		Echo.echobr("Création d un nouveau big tutoriel");
     
    	?????????
    	}
     
    	else if(source == menu.getnouvTutoMini() || source == outil.getnouvTutoMini()){				
    		Echo.echobr("Création d un nouveau mini tutoriel");
     
    	????????????
    	}
     
    }

    Comment je fait pour lier tout ça, c est pas évident a expliquer comme çà, j ai essayer de faire au mieux, si tu a besoin d autre précision, j essayerais d être plus claire sur certain point.

    Voila pourquoi je demande de l aide, car pour moi c est assez compliquer.

    Je te remercie beaucoup pour l aide que tu vas m apporter.

    PS : si tu veux mon Email ou mon MSN il y a pas de soucie, sinon on peux voir par MP si tu préfère. Je veux dire par la que faudrait pas monopoliser ce Post sur le forum.

    Merci encore pour ton aide

    dad72

  8. #8
    Membre éclairé

    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 510
    Points : 803
    Points
    803
    Par défaut
    si tu veux tu peuxw m'envoyer ton mail par mp ca serai plus simple mais avant écoute bien ce que je vais te dire... tout appli necessite une architecture , en général il est necessaire d'utiliser au moins 3 package principaux basées sur le pattern VCM chacun de ces package en contenant plusieur.... j'ai du mal a comprendre ton code parce qu'il est un "recroquevillé.... il vaut mieux faire beaucoup plus de classe et faire un code "aeré".

    sinon pour gérer plus facilement tes données je te conseille de faire une classe contenant les données dont tu peux avoir besoin d'un package a l'autre... il s'agit d'une classe singleton contenant quasi exclusivement un ensemble de setter-getter et te permettant d'enregistrer un certain nombre de données afin de les réutiliser plus tard si tu veux plus d'explication je te les fournirai par mail....

    (sorry je suis au boulot et je n'ai pas trop de temps tout de suite)
    "La seule chose dont je sois certain, c'est que je doute"
    j'ai cassé ma boule de cristal veuillez être clair et précis dans vos propos
    compilateur - 1 nayah - 0
    PS : je suis un

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 183
    Points : 96
    Points
    96
    Par défaut
    Pas de probleme, je t envoi ca par MP

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème programme C pour mon projet
    Par ZellR dans le forum C
    Réponses: 17
    Dernier message: 13/05/2014, 21h24
  2. Problème pour mon 1er projet.
    Par bigwade dans le forum Android
    Réponses: 2
    Dernier message: 08/10/2012, 12h26
  3. Réponses: 0
    Dernier message: 07/06/2010, 15h47
  4. besoins de sujets pour mon projet
    Par Hydre dans le forum Windows
    Réponses: 2
    Dernier message: 24/08/2005, 11h37
  5. Choix d'un SGBDR pour mon projet: Interbase?
    Par super16 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 09/07/2004, 08h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo