Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1669 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  affichage java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

affichage java

n°846709
kungouf
Posté le 10-09-2004 à 10:46:00  profilanswer
 

bonjour,
 
je souhaiterais creer des formes graphiques basique en java qui contiennent du texte, par exemple tout simplement un rectangle avec du texte aligne en son centre
 
j'ai deja ecumer pas mal de tutoriaux et sites, cependant je n'ai trouver que cette reponse:
 
 
public void paint(Graphics g){
 
    g.drawRect(RectX, RectY, 100, 50);
    g.drawString("texte", textx,texty);  
 
}
 
 
ca reviens a tricher c'est à dire dessiner le rectangle, puis ecrire du texte superpose par rapport a la position du rectangle
 
je suis certain qu'il y a un moyen de creer un rectangle dont on peut attribuer un texte pour l'affichage, ca a l'air tres basique!
 
 
si les librairies standards ne permettent pas de le faire, comment creer proprement une classe qui pourras me donner un objet de ce type?
 
c'est à dire que si je veux modifier le texte de ce rectangle je ferais par exemple :
 
rectangle.texte = "nouveau texte";
 
 
voila, je suis un newb autodidacte en java et c'est dur a apprehender toutes les classes...

mood
Publicité
Posté le 10-09-2004 à 10:46:00  profilanswer
 

n°846720
gedeon
Posté le 10-09-2004 à 11:03:43  profilanswer
 

Honnêtement la meilleur solution , c'est le JLabel !

n°846743
kungouf
Posté le 10-09-2004 à 11:17:26  profilanswer
 

en fait non car la premiere etape serais de dessiner ce que je t'ai dis, ensuite il faudrais lier les elements entres eux via le dessin d'une ligne, car le but est de creer uin schema qui represente les liaisons pere/fils que represente chacun des elements...ca non plus je ne sais pas comment faire, je croyais que ca allais etre bcp plus simple mais en fait swing n'est pas souple des que l'on veut sortir legerement du carcan standard

n°846746
Jubijub
Parce que je le VD bien
Posté le 10-09-2004 à 11:21:16  profilanswer
 

java2D ...à mon avis c pareil partout : si tu cherches à faire un arbre, t déjà plus dans le standard...
 
par contre si tu trouves ca m'intéresse...mais je vois pas en quoi ton composant avec un paint qui dit de faire un rectangle est tricher...c exactement le but de java2d : prendre le relai de swing tout en s'y intégrant parfaitement, pour faire tt ce que tu veux


---------------
Jubi Photos : Flickr - 500px
n°846755
gedeon
Posté le 10-09-2004 à 11:24:46  profilanswer
 

Ha ben oui, mais si tu dis pas tout ...
Essaye de voir du coté des SWT d'eclipse.  
Je ne pense pas par contre que tu trouvera une solution facile

n°846779
Jubijub
Parce que je le VD bien
Posté le 10-09-2004 à 11:36:23  profilanswer
 

je vois pas en quoi SWT sera différent...y'a effectivement des plugins qui ont été écris pour représenter des graphs...mais y'en a en swing aussi...dans les 2 cas ce sont des custom components, qui doivent etre blindés de java 2D...


---------------
Jubi Photos : Flickr - 500px
n°846786
gedeon
Posté le 10-09-2004 à 11:41:32  profilanswer
 

Jubijub a écrit :

je vois pas en quoi SWT sera différent...y'a effectivement des plugins qui ont été écris pour représenter des graphs...mais y'en a en swing aussi...dans les 2 cas ce sont des custom components, qui doivent etre blindés de java 2D...


 
SWT est plus permissif en graphiquement que swing c tout.
De plus je ne parlais pas de plugin.
 
 

n°846799
kungouf
Posté le 10-09-2004 à 11:54:57  profilanswer
 

hmmm..mouai c loin d'etre gagne pour moi ...arf
vous savez dans quel librairie je dois orienter ma recherche pour trouver ce que je veux faire?
 

n°846887
Jubijub
Parce que je le VD bien
Posté le 10-09-2004 à 13:50:15  profilanswer
 

-->gedeon : le fait que des softs ayant des graphs comme il veut existent prouvent qu'on peut le faire avec les 2 toolkits.
 
-->kungouf : regarde java2D ...c ca la librairie...c une lib de dessin qui s'intègre à Swing, ou peut fonctionner en dehors...c tout con...Regarde le java tutorial, y'a un trail dessus...sinon la Swing connection a un article sur l'interraction java2D / swing


---------------
Jubi Photos : Flickr - 500px
n°846889
kungouf
Posté le 10-09-2004 à 13:51:34  profilanswer
 

merci Jubijub je vais arpenter un peu java 2d

mood
Publicité
Posté le 10-09-2004 à 13:51:34  profilanswer
 

n°846906
gedeon
Posté le 10-09-2004 à 14:13:22  profilanswer
 

Jubijub a écrit :

-->gedeon : le fait que des softs ayant des graphs comme il veut existent prouvent qu'on peut le faire avec les 2 toolkits.


 
Hallucinant ! J'ai dis le contraire ?

n°846938
kungouf
Posté le 10-09-2004 à 14:56:23  profilanswer
 

alors maintenant j'ai plus ou moins presque reussi à 'esquisser' ce que je voulais faire, voici mes classes:
 
 
 
public class MainTest extends JFrame{
 
 public MainTest(){
  super("creation d'elements" );
 
  setSize(500, 500);
  show();
 }
 
 public void paint(Graphics g){  
 
  Rectangle rec1 = new Rectangle(5, 10, 100, 50);
  Rectangle rec2 = new Rectangle(115, 10, 100, 50);
 
  rec1.trace(g);
  rec2.trace(g);
 }  
 
 public static void main(String args[]){
 
  MainTest app = new MainTest();
 
  //int Rectx, int Recty, int RectLongx, int RectLongy
 
  app.addWindowListener(
   new WindowAdapter(){
    public void windowClosing(WindowEvent e){
     System.exit(0);
    }
   }  
  );
   
 
 }
}
 
 
public class Rectangle extends JFrame
{
 private int Rectx, Recty, RectLongx, RectLongy;
 private static int textx, texty;
 
 public Rectangle(int Rectx, int Recty, int RectLongx, int RectLongy)  
 {
  this.Rectx = Rectx;
  this.Recty = Recty;
  this.RectLongx = RectLongx;
  this.RectLongy = RectLongy;
 
  textx = Rectx + 20;
  texty = Recty + 5;
 }
 
 public void trace(Graphics g)
 {
  g.setColor(Color.WHITE);
 
  g.drawRect(Rectx, Recty, RectLongx, RectLongy);
  g.drawString("contenu", textx, texty);
 
  System.out.println("coordonnee"+textx+ ", "+ texty);
 }
 
}
 
 
par contre le probleme que j'ai c'est pour afficher le texte à 'l'interieur ' des rectangles
 
en effet le g.drawString() n'affiche rien, pensant que c'etait du à l'instance j'ai mis textx et texy qui sont les coordonnees d'affichage du texte en static
 
 
dans l'ordre:
 
1- instanciation des rectangles (calcul coordonnees affichage rectangle + texte)
 
2- appel a la fonction trace de chacun des objet pour les tracers dans la JFrame, le probleme c'est que le texte ne s'affiche pas
 
-> j'ai essaye de mettre un bloc en dur et celui-ci s'affiche tout a fait correctement:
 
public void trace(Graphics g)
{
 g.setColor(Color.WHITE);
 
 g.drawRect(Rectx, Recty, RectLongx, RectLongy);
        g.drawString("contenu", textx, texty); // n'affiche rien
 g.drawString("contenu", 250, 50); // s'affiche correctement
 
 System.out.println("coordonnee"+textx+ ", "+ texty);
}


Message édité par kungouf le 10-09-2004 à 15:02:41
n°846993
gedeon
Posté le 10-09-2004 à 15:22:46  profilanswer
 

Conseils :
1 -  Enleve  

Code :
  1. Rectangle rec1 = new Rectangle(5, 10, 100, 50);
  2.   Rectangle rec2 = new Rectangle(115, 10, 100, 50);
  3.   rec1.trace(g);
  4.   rec2.trace(g);


de la methode paint  
Il sont recréés a chaque fois , c super lourd comme traitement et  
inutile
 
2 - Transforme tes trace en paint, ça rendra l'affichage de tes composant  autonome  
 
 
 
 

n°849817
kungouf
Posté le 14-09-2004 à 11:44:30  profilanswer
 

ok merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  affichage java

 

Sujets relatifs
[Java/SWT] : asyncExec et syncExec, Threads, affichage.[JAVA] [SWING] Affichage affreux de couleurs et de composants
[Java] Affichage d'une image dans un JPanel[java] JApplet pb d'affichage
[Java] Affichage d'images, je lutte[java] comment separé l affichage du traitement
[JAVA] Affichage texte,[JAVA] Pb d'affichage
[JAVA] pb d'affichage image[JAVA] affichage de carac seciaux dans JLabel
Plus de sujets relatifs à : affichage java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR