Partage
  • Partager sur Facebook
  • Partager sur Twitter

Dessiner un tableau

Quel outil? Quelle bibliothèque?

    28 décembre 2008 à 9:00:36

    Bonjour à tous,


    Je vais avoir besoin de dessiner un tableau assez complexe, avec des cellules a fusionner.
    Ce tableau devra avoir des champs a saisir.

    Ma question est : Quelle outil faut il utiliser.

    PS: Je ne veus pas de JTable, car je ne veus pas de tableau avec des colonne modulable.

    Comment faire?
    • Partager sur Facebook
    • Partager sur Twitter
      28 décembre 2008 à 9:34:48

      Soit tu refait ton propre objet :s se basant par ex sur JTable soit tu peux ptête tricher en utilisant des JList ? :s
      Tu dois pouvoir trouver des composant non standard (mais rajoutable genre une libs) qui te permettent de faire ça :)
      • Partager sur Facebook
      • Partager sur Twitter
        28 décembre 2008 à 11:14:54

        ou bien travailler avec des box et des JTextAera ...
        c'est pas top ...
        enfin ça dépend de l'usage que tu en fais
        • Partager sur Facebook
        • Partager sur Twitter
          28 décembre 2008 à 11:21:46

          La se sera a toi de recreer la roue
          • Partager sur Facebook
          • Partager sur Twitter
          J'ai tous les badges d'OpenClassrooms.
            28 décembre 2008 à 12:03:38

            Merci pour vos conseil.

            Voici ce que je désire réaliser :
            Image utilisateur

            Uniquement les cases blanches sont des champs a saisir. :)

            Créer une librairie pour tracer des cadres, Comment ? :euh:

            EDIT:
            Y aurait il un logiciel du style VB me permettant de faire du graphique o_O
            • Partager sur Facebook
            • Partager sur Twitter
              28 décembre 2008 à 12:10:59

              pour ça tu devrait utiliser les classes de creation de dessin.
              une classe tableau, qui et construite par un nombre de ligne et un nombre de colonne.
              ton role sera de dessiner des rectangles pour chaque cellules.
              Ensuite une methode qui rend saisissable une cellule serait d'inserer dans le cadre, un TextField, ou TextArea qui remplirait le cellule. biensur le textarea doit etre indicé de manière a retrouver les valeurs.

              Comme je disais tu va recrrer la roue
              • Partager sur Facebook
              • Partager sur Twitter
              J'ai tous les badges d'OpenClassrooms.
                28 décembre 2008 à 12:13:55

                Je sens que ça va être compliqué :euh:

                J'ai une autre idée qui vient de surgir.
                Est ce possible de copier la miniature que j'ai mise en fond de page et d'y mettre des carrées de saisies à l'intérieur? :lol:
                • Partager sur Facebook
                • Partager sur Twitter
                  28 décembre 2008 à 12:14:37

                  ben moi j'allais te proposer de presque faire la même chose :p

                  On vas encore me dire que je réinvente la roue :p mais bon :D

                  Moi je créerais un Objet "Case"
                  avec 5 variable :o
                  + variable X (case colonne X)
                  + variable Y (case ligne Y)
                  et une méthode peindToi(graphics g) qui imprimerait ceci (les var X que tu vois apparaitre sont le contenus des 5 variable)
                  Image utilisateur
                  mieux vaut repeindre que d'utiliser une image de fond mais soit ^^
                  comme tu le sent

                  Tu fonctionnes avec des JLabel ...

                  La méthode qui va peindre le tableau en entier fera appel aux méthode (CaseEnCours.peindToi(g,i,j);) tour à tour des Objet "Case"

                  Quand tu clic sur le tableau, tu vas chercher les coordonée de la souris :o
                  ton tableau détermine sur quel "Case" tu as cliqué et appel sa méthode "On_a_cliqué_sur_toi(coord Souris)"
                  la case regardera sur quel case on a cliqué et créé une boite de dialogue qui demande de rentrer la nouvelle valeur :) (facile a faire ^^ il y'a une classe toute faite :p voir tutoriel de ce site même :p )
                  quand le monsieur il clique sur "ok" la variable est remplacée et le tout est repeint ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 décembre 2008 à 12:19:30

                    Citation : peofofo


                    Est ce possible de copier la miniature que j'ai mise en fond de page et d'y mettre des carrées de saisies à l'intérieur? :lol:


                    Tu peux le faire , mais, franchement ça ne serait en aucun cas une solution facile a modifiée plus tard, car chaque fois que tu changera quelque chose sur ton image tu changera aussi ton code.
                    Et là c'est contre mes principes de programmation .
                    • Partager sur Facebook
                    • Partager sur Twitter
                    J'ai tous les badges d'OpenClassrooms.
                      28 décembre 2008 à 12:23:36

                      Citation : willykonguem

                      Citation : peofofo


                      Est ce possible de copier la miniature que j'ai mise en fond de page et d'y mettre des carrées de saisies à l'intérieur? :lol:


                      Tu peux le faire , mais, franchement ça ne serait en aucun cas une solution facile a modifiée plus tard, car chaque fois que tu changera quelque chose sur ton image tu changera aussi ton code.
                      Et là c'est contre mes principes de programmation .



                      Enfaite je pensais mettre une image de ce style en fond d'écran et après de dessiner des rectangles avec Jlabel sur le dessin.
                      Le problème reste sur la disposition de l'image. Peut on mettre un Jlabel à un endroit précis?
                      J'aimerais par la suite pouvoir imprimer cette feuille de match, est ce que cela posera des problèmes d'impressions? o_O
                      • Partager sur Facebook
                      • Partager sur Twitter
                        28 décembre 2008 à 12:25:07

                        bien sur ^^ tu l'imprime au coordonnées que tu veux :p ton Jlabel :)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          28 décembre 2008 à 12:51:17

                          La méthode snoopy est pa mal, aussi et ça t'évitera de trop reflechir
                          • Partager sur Facebook
                          • Partager sur Twitter
                          J'ai tous les badges d'OpenClassrooms.
                            28 décembre 2008 à 13:32:33

                            il faut bien sur créé plusieurs type d'objet (pour les cases en vertes par exemple elles n'ont pas la même forme :p )
                            je te conseil de toutes les faire hérité d'une classe Case de Base ...
                            donc tu fais une class "Case" et tu fais une class Title et Zone : Title extends Case {...}
                            Zone extends Case {...}

                            ça te permettra de stocker toutes tes cases dans un seul tableau : Case[] TableauGénéral; (ce tableau peu stocker des "Title"s et des "Zone"s)

                            voilà avec ça tu devrais pouvoir gérer :)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              28 décembre 2008 à 20:39:36

                              Personnellement, il est préférable d'utiliser un JTable combiné avec un TableModel et un ColumnModel... Cherche par là. J'ai déja fait un programme avec ca et c'est tres appropriée! Dans la doc java, il y a un tuto sur le JTable.

                              Pas besoin de réinventer la roue, on est en orienté objet et donc les classes dèjà présentes sont la pour être réutilisées!

                              Bonne chance
                              • Partager sur Facebook
                              • Partager sur Twitter
                                28 décembre 2008 à 20:50:54

                                Citation : max-om-93

                                Personnellement, il est préférable d'utiliser un JTable combiné avec un TableModel et un ColumnModel... Cherche par là. J'ai déja fait un programme avec ca et c'est tres appropriée! Dans la doc java, il y a un tuto sur le JTable.

                                Pas besoin de réinventer la roue, on est en orienté objet et donc les classes dèjà présentes sont la pour être réutilisées!

                                Bonne chance



                                Pense tu que cette solution est appropriée au probleme ?
                                ce n'est pas parce que on est en Orienté Objet que tout est possible. ;)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                J'ai tous les badges d'OpenClassrooms.
                                  29 décembre 2008 à 8:57:12

                                  Et puis une combinaison adéquate de GridBagLayout + des JTextField ?
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    31 décembre 2008 à 20:01:43

                                    Merci à tous :)

                                    Snoopy, je n'ai pas compris pourquoi tu utilises graphics g.
                                    Et qu'entends tu lorsque tu dit repeindre ?

                                    Citation : Snooooopy

                                    La méthode qui va peindre le tableau en entier fera appel aux méthode (CaseEnCours.peindToi(g,i,j);) tour à tour des Objet "Case"


                                    Comment ?



                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      1 janvier 2009 à 4:20:40

                                      ben tu n'as pas encore lut la partie graphique du tutoriel ?
                                      ben en gros tu créé un JPanel qui permet de dessiner des lignes,des formes basiques, des images ou d'écrire du texte n'importe ou
                                      on dessine sur une zone "Graphics"
                                      donc si chaque case a sa propre méthode pour se peindre elle même :) tu fais appel a ses méthode :) mais tu dois dire ou elle doive se dessiner donc tu passe la Zone graphics en argument :o

                                      mais si tu n'as jamais fait de dessin Java je ne peux que te renvoyer
                                      ici
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Dessiner un tableau

                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                      • Editeur
                                      • Markdown