Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JAVA] defileur en JFrame

    20 février 2007 à 21:46:49

    Voila je suis entrain de faire une interface graphique en JFrame te je cherche à faire un defileur mais je n'arrive pas a trouver la methode malgres de nombreuses recherche sur l'API.
    Quelqu'un la connait-il.
    Je pense que ca commence par set. mais apres j'en sais rien du tout.

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      21 février 2007 à 1:35:50

      un défileur? tu veux dire, une barre de défilement?

      si oui, ya la class JScrollBar, dans javax.swing ...
      • Partager sur Facebook
      • Partager sur Twitter
      Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
        21 février 2007 à 11:43:36

        Ouai ces tout a fait ca que je cherche.
        Connais tu quelque methode car je galere a fond sur l'API.
        Ce que j'aimerais c'est qu'elle se trouve a droite et qu'elle fasse tout le long de mon bloc note pour que je puisse descendre si je sort du cadre.

        • Partager sur Facebook
        • Partager sur Twitter
          21 février 2007 à 12:51:17

          Bonjour vous avez l'aire de vous y connaitre en JAVA, pouvez vous crée un tuto dessu avec l'IDE "eclipse". Car Jbuilder devient payent et la verion 2005 n'est pas compatible au noveau OS ( exemple: microsoft Vista,...)

          Merci de vos réponse. Toute mes salutation!
          ( pouvez vous me répondre en MP___svp! )
          • Partager sur Facebook
          • Partager sur Twitter
            21 février 2007 à 16:52:45

            On ne poste pas HS. 5% d'avertissement.
            • Partager sur Facebook
            • Partager sur Twitter
              22 février 2007 à 0:29:47

              @Ptit Bond: Si tu code avec Eclipse, tu as le plugin Jigloo (En Anglais) qui _devrait_ t'aider.
              • Partager sur Facebook
              • Partager sur Twitter
                22 février 2007 à 20:18:41

                Alors je vais peut etre me mettre à Eclipse.
                Car la j'utilise un simple éditeur de texte (SCITE qui est trés bon et qui permet la compilation et l'execution grace à de simple clic).
                Sinon tu ne connait rien en JScrollBar et JScrollPane??
                • Partager sur Facebook
                • Partager sur Twitter
                  22 février 2007 à 22:59:09

                  Pour ce qui est de JScrollPane, voici une manière d'en créer un qui met un barre de défilement si nécessaire :


                  JTextArea a = new JTextArea(20,20); // "20,20" est "largeur,hauteur"
                  JScrollPane sPane= new JScrollPane(a);


                  Ensuite, pour l'ajouter à l'environnement :


                  add(sPane,BorderLayout.CENTER);
                  sPane.setWheelScrollingEnabled(true);
                  a.setLineWrap(true);
                  a.setWrapStyleWord(true);


                  finalement, pour ajouter / supprimer du texte, tu n'a qu'à utiliser "a", manuellement en utilisant ton clavier, ou dans le programme en utilisant :


                  // enlève tout le texte contenu dans le textarea et met celui-ci
                  a.setText("bonjour!\nVous m'avez l'air en forme, aujourd'hui !\n");

                  // afficher le texte
                  System.out.println(a.getText());

                  // ajouter du texte
                  a.append("\n^.^");


                  En espérant t'avoir aidé ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
                    22 février 2007 à 23:08:23

                    Tu crées une ( ou un, j'en sait rine :p ) jScrollPane comme suit :

                    public class myFrame extends JFrame {
                      private JScrollPane myJScrollPane;
                      private JList myJList;

                      public myFrame() {
                        myJScrollPane = new JScrollPane();
                        this.add(myJScrollPane, Information sur le layout);
                        myJList = new JList();
                        myJScrollPane.setViewportView(myJList);
                      }
                    }


                    Avec ca, si jamais ta JList à un contenu trop grand (en largeur ou hauteur), des petites barres vont arriver pour que l'on puisse tout voir ;) .
                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 février 2007 à 21:30:46

                      je doit mettre quoi dans à la place de "information du layout"???
                      • Partager sur Facebook
                      • Partager sur Twitter
                        27 février 2007 à 22:51:06

                        par exemple :

                        BorderLayout.CENTER
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
                          27 février 2007 à 22:56:20

                          ces ce que j'ai mis mais ca marche pas!!

                          private JScrollPane defileur  = new JScrollPane(textArea);

                          puis
                          container.add(defileur, BorderLayout.CENTER);
                          defileur.setViewportView(myJList);



                          Mais on voit un gros carre en desous de ce que j'ecrit.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            28 février 2007 à 16:37:35

                            C'est que le layout de container ?
                            • Partager sur Facebook
                            • Partager sur Twitter
                              28 février 2007 à 19:25:04

                              je comprend pas ta question!!
                              • Partager sur Facebook
                              • Partager sur Twitter
                                1 mars 2007 à 14:10:30

                                Donne un peu le code entier de ta frame.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  1 mars 2007 à 17:34:35

                                  voila mon programme entier
                                  /**
                                  *@author : Thomas Fageol
                                  *@date : Mardi 20 fevrier 2007
                                  *@version : 0.7
                                  *Probleme à regler : défileur, annuler
                                  *@Description : Bloc Note en JAVA
                                  */

                                    /************/
                                   /** import **/
                                  /***********/
                                  import javax.swing.*;
                                  import java.awt.*;
                                  import java.awt.event.* ;
                                  import java.lang.*;
                                  import java.io.* ;
                                  import java.util.* ;

                                  public class BlocNote extends JFrame implements ActionListener
                                  {
                                          private JPanel container = new JPanel();
                                          private FlowLayout layout = new FlowLayout();

                                            /*********************/
                                           /** La zone de texte **/
                                          /********************/
                                          private JTextArea textArea = new JTextArea();
                                                 
                                            /*********************/
                                           /** La zone de texte **/
                                          /********************/
                                          private JScrollPane defileur  = new JScrollPane(textArea);
                                         
                                            /*********************/
                                           /** Le menu             **/
                                          /********************/
                                          private JMenuBar menuBar = new JMenuBar();
                                         
                                          private JMenu menu1 = new JMenu("Fichier");
                                          private JMenu menu2 = new JMenu("Edition");
                                          private JMenu menu3 = new JMenu("Options");
                                          private JMenu menu4 = new JMenu("???");
                                         
                                          //Element menu1
                                          private JMenuItem nouveau= new JMenuItem("Nouveau");
                                          private JMenuItem open = new JMenuItem("Ouvrir");
                                          private JMenuItem save = new JMenuItem("Enregistrer");
                                          private JMenuItem saveAs = new JMenuItem("Enregistrer sous");
                                          private JMenuItem quit = new JMenuItem("Quitter");
                                         
                                          //Element menu2
                                          private JMenuItem annuler = new JMenuItem("Annuler");
                                          private JMenuItem selectAll = new JMenuItem("Tout Selectionner");
                                          private JMenuItem copy = new JMenuItem("Copier");
                                          private JMenuItem cut = new JMenuItem("Couper");       
                                          private JMenuItem paste = new JMenuItem("Coller");
                                         
                                          //Element menu3
                                          private JMenuItem fondR = new JMenuItem("Fond Rouge");
                                         
                                          //Element menu4
                                          private JMenuItem about = new JMenuItem("About");
                                                 
                                            /*********************/
                                           /** Autres attributs **/
                                          /*********************/
                                          File fileSave = new File ("c:\\");
                                          boolean continueSave = false;
                                         
                                            /**************************/
                                           /** Création de la fenetre **/
                                          /**************************/
                                          public BlocNote()
                                          {
                                                  super();
                                                  build()//On initialise la fenetre
                                          }
                                         
                                            /*******************************/
                                           /** Configuration de la fenetre **/
                                          /******************************/
                                          private void build()
                                          {
                                                  this.setTitle("Nouveau - Bloc Note Java");                  //Nom de la fenetre.
                                                  this.setSize(600,400);        //Taille de la fenetre.
                                                  this.setLocationRelativeTo(null);                                   //On centre la fenetre.
                                                  this.setResizable(true);                                                //On interdit le redimensionnement.
                                                  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    //Permet la fermeture si on clik sur la croix .
                                                  this.setContentPane(getContainer());                //On lui spécifie un container principal.
                                          }
                                         
                                            /**********/
                                           /** Main **/
                                          /*********/
                                          public static void main(String[] args)
                                          {
                                                  BlocNote gui = new BlocNote();          //On crée une nouvelle instance de notre fenêtre.
                                                  gui.setVisible(true);
                                          }

                                          private JPanel getContainer()
                                          {
                                                  layout.setAlignment(FlowLayout.LEFT);          //On place les composants à gauche.
                                                 
                                                  container.setLayout(layout);                        //On applique le layout.
                                                  container.setBackground(Color.white);            //Couleur de fond.
                                                 
                                                  //Afectation de touche raccourcie au differents elements du menu.
                                                  nouveau.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK));//CTRL+N pour Nouveau.
                                                  open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_MASK));//CTRL+O pour Ouvrir.
                                                  save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));//CTRL+S pour Enregistrer.
                                                  quit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_MASK));//CTRL+Q pour Quitter
                                                  annuler.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z, InputEvent.CTRL_MASK));//CTRL+Z pour Annuler
                                                 
                                                  selectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK));//CTRL+A pour Selectionner Tout
                                                  copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK));//CTRL+C pour Copier
                                                  cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK));//CTRL+X pour Couper
                                                  paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK));//CTRL+V pour Coller
                                                 
                                                 
                                                  //Affectation d'action au different élément du menu.
                                                  nouveau.addActionListener(this);
                                                  open.addActionListener(this);
                                                  save.addActionListener(this);
                                                  saveAs.addActionListener(this);
                                                  quit.addActionListener(this);
                                                  annuler.addActionListener(this);
                                                 
                                                  selectAll.addActionListener(this);
                                                  copy.addActionListener(this);
                                                  cut.addActionListener(this);
                                                  paste.addActionListener(this);
                                                 
                                                  fondR.addActionListener(this);
                                                 
                                                  about.addActionListener(this);
                                                 
                                                  //On ajoute les differents Item au Menu correspondant.
                                                  menu1.add(nouveau);
                                                  menu1.add(open);
                                                  menu1.add(save);
                                                  menu1.add(saveAs);
                                                  menu1.add(quit);
                                                 
                                                  menu2.add(annuler);
                                                  menu2.add(selectAll);
                                                  menu2.add(copy);
                                                  menu2.add(cut);
                                                  menu2.add(paste);
                                                 
                                                  menu3.add(fondR);
                                                 
                                                  menu4.add(about);
                                                 
                                                  //On ajoute les menu à la barre de menu.
                                                  menuBar.add(menu1);
                                                  menuBar.add(menu2);
                                                  menuBar.add(menu3);
                                                  menuBar.add(menu4);
                                                  this.setJMenuBar(menuBar);
                                                 
                                                  //Configuration de la zone de texte.
                                                  textArea.setSize(2000,2000);        //Taille de la zone de texte.
                                                  textArea.setLineWrap(true);          //Permet le retour à la ligne automatique.
                                                  textArea.setWrapStyleWord(true);        //Les mots ne seront pas coupés.
                                                  container.add(textArea);
                                                 
                                                  //Defileur
                                                 
                                                  return container ;
                                          }
                                         
                                            /*********************/
                                           /** Les Actions        **/
                                          /********************/
                                          public void actionPerformed(ActionEvent e)
                                          {
                                                                                                    /***********/
                                                                                                   /** menu1 **/
                                                                                                  /**********/
                                                    /************************/
                                                   /** Nouveau ou CTRL+N **/
                                                  /***********************/
                                                  if(e.getSource() == nouveau)
                                                  {
                                                          //On modifie le textArea en supprimant tout le contenu.
                                                          textArea.setText("");   
                                                          //On réinitialise l'objet File fileSave.
                                                          fileSave = new File("c:\\");
                                                          //Modifie le titre de la Fenêtre.       
                                                          setTitle("Nouveau - Bloc Note Java");
                                                  }
                                                 
                                                    /***********************/
                                                   /** Ouvrir ou CTRL+O **/
                                                  /**********************/
                                                  if(e.getSource() == open)
                                                  {
                                                          //On créée un nouvel objet JFileChooser.
                                                          JFileChooser chooser = new JFileChooser();
                                                          //On change le répertoire courant de départ, on sera dans le dossier fileSave.
                                                          chooser.setCurrentDirectory(fileSave);
                                                          //On fait apparaître le JFileChooser à l'écran.
                                                          int returnVal = chooser.showOpenDialog(BlocNote.this);
                                                         
                                                          //Si le fichier choisi peut s'ouvrir.            
                                                          if (returnVal == JFileChooser.APPROVE_OPTION)
                                                          {
                                                                  //On efface le text contenu dans le textArea.
                                                                  textArea.setText("") ;
                                                                  //Le fichier fileSave devient le fichier sélectionner.
                                                                  fileSave = chooser.getSelectedFile();
                                                                  //c.f sauvegarder.
                                                                  continueSave = true ;
                                                     
                                                                          //On essaie
                                                                          try
                                                                          {   
                                                                                  FileReader in = new FileReader(fileSave);
                                                                                  //De recopier le fichier dans le textArea
                                                                                  int c;
                                                                                  while ((c = in.read()) != -1)
                                                                                  {
                                                                                          String a = (char)c + "" ;
                                                                                          textArea.append(a) ;
                                                                                  }
                                                                              //On ferme le FileReader
                                                                                  in.close();
                                                     
                                                                                  //On modifier le titre du Bloc Note avec le titre du fichier
                                                                                  setTitle(fileSave.getName() + " - Bloc Note Java") ;
                                                                          }
                                                                          //Si ca ne fonctionne pas
                                                                          catch (Exception ex)
                                                                          {
                                                                                  //On ferme la fenêtre
                                                                                  chooser.setVisible(false) ;
                                                                          }       
                                                          }
                                                  }
                                                 
                                                    /***************************/
                                                   /** Sauvegarder ou CTRL+S **/
                                                  /***************************/
                                                  if(e.getSource() == save)
                                                  {
                                                          /*On donne une condition au départ, si le fichier n'a jamais été sauvegardé,
                                                          un JFileChooser apparait pour demander où sauvgarder sinon il le sauvegarde
                                                          automatiquement*/

                                                          if(continueSave == false)
                                                          {
                                                                  //c.f. text si dessus
                                                                  continueSave = true ;
                                                                  //On créée un nouvel objet JFileChooser
                                                                  JFileChooser saver = new JFileChooser();
                                                                  //On change le répertoire courant de départ, on sera dans le dossier fileSave
                                                                  saver.setCurrentDirectory(fileSave) ;
                                                                  //On fait apparaître le JFileChooser à l'écran
                                                                  int returnVal = saver.showSaveDialog(BlocNote.this);
                                                                         
                                                                  //Si le fichier choisi peut etre sauvé
                                                                  if (returnVal == JFileChooser.APPROVE_OPTION)
                                                                  {
                                                                          //Le fichier fileSave devient le fichier sélectionner
                                                                          fileSave = saver.getSelectedFile();
                                                                 
                                                                          //On essaie
                                                                          try
                                                                          {     
                                                                                  FileWriter out = new FileWriter(fileSave);
                                                                      
                                                                                  //D'écrire le contenu du textArea
                                                                                  String contenu = textArea.getText() ;
                                                                                  //A l'aide d'un FileWriter dans le fichier qu'on a choisi
                                                                                  out.write(contenu) ;
                                                                                  //On ferme l'objet FileWriter
                                                                                  out.close();
                                                             
                                                                                  //On modifie le titre du bloc note en lui donnant le nom du doc
                                                                                  setTitle(fileSave.getName() + " - Bloc Note Java") ;
                                                                          }
                                                                          //Si ca ne fonctionne pas
                                                                          catch (Exception ex)
                                                                          {
                                                                                  //On cache la fenêtre
                                                                                  setVisible(false) ;
                                                                          }       
                                                                  }                                   
                                                 
                                                                  //Si le fichier à été sauvegarder au moins une fois     
                                                                  else
                                                                  {
                                                                          //On essaie
                                                                          try
                                                                          {     
                                                                                  FileWriter out = new FileWriter(fileSave);
                                                                                  //D'écrire le contenu du textArea
                                                                                  String contenu = textArea.getText() ;
                                                                                  //A l'aide d'un FileWriter dans le fichier qu'on a choisi
                                                                                  out.write(contenu) ;
                                                                                  //On ferme l'objet FileWriter
                                                                                  out.close();
                                         
                                                                                  //On modifie le titre du bloc note en lui donnant le nom du doc
                                                                                  setTitle(fileSave.getName() + " - Bloc Note Java") ;
                                                                          }
                                                                          //Si ca ne fonctionne pas
                                                                          catch (Exception ex)
                                                                          {
                                                                                  //On cache la fenêtre
                                                                                  saver.setVisible(false) ;
                                                                          }
                                                                  }
                                                          }
                                                  }
                                                 
                                                    /**********************/
                                                   /** Sauvegarder Sous **/
                                                  /*********************/
                                                  if(e.getSource() == saveAs)
                                                  {
                                                          //c.f. text sous sauvegarder
                                                          continueSave = true ;
                                                          //On créée un nouvel objet JFileChooser
                                                          JFileChooser saver = new JFileChooser();
                                                          //On change le répertoire courant de départ, on sera dans le dossier fileSave
                                                          saver.setCurrentDirectory(fileSave) ;
                                                          //On fait apparaître le JFileChooser à l'écran
                                                          int returnVal = saver.showSaveDialog(BlocNote.this);
                                                                 
                                                          //Si le fichier choisi peut etre sauvé
                                                          if (returnVal == JFileChooser.APPROVE_OPTION)
                                                          {
                                                                  //Le fichier fileSave devient le fichier sélectionner
                                                                  fileSave = saver.getSelectedFile();

                                                                  //On essaie
                                                                  try
                                                                  {     
                                                                          FileWriter out = new FileWriter(fileSave);
                                                                          //D'écrire le contenu du textArea
                                                                          String contenu = textArea.getText() ;
                                                                          //A l'aide d'un FileWriter dans le fichier qu'on a choisi
                                                                          out.write(contenu) ;
                                                                          //On ferme l'objet FileWriter
                                                     out.close();
                                                     
                                                     //On modifie le titre du bloc note en lui donnant le nom du doc
                                                     setTitle(fileSave.getName() + " - Bloc Note Java") ;
                                                                  }
                                                                  //Si ca ne fonctionne pas
                                                                  catch (Exception ex)
                                                                  {
                                                                          //On cache la fenêtre
                                                                          saver.setVisible(false) ;
                                                                  }                   
                                                          }
                                                  }
                                                 
                                                    /************************/
                                                   /** Quitter ou CTRL+Q **/
                                                  /************************/
                                                  if(e.getSource() == quit)
                                                  {
                                                          System.exit(0);//On quitte le programme
                                                  }
                                                 
                                                                                                    /***********/
                                                                                                   /** menu2 **/
                                                                                                  /**********/
                                                    /************************/
                                                   /** Annuler ou CTRL+Z  **/
                                                  /***********************/
                                                  if(e.getSource() == annuler)
                                                  {
                                                  }
                                                 
                                                    /**********************************/
                                                   /** Tout Selectionner ou CTRL+A  **/
                                                  /*********************************/
                                                  if(e.getSource() == selectAll)
                                                  {
                                                          //On sélection tout le text du textArea
                                                          textArea.selectAll();
                                                  }
                                                 
                                                    /***********************/
                                                   /** Copier ou CTRL+C  **/
                                                  /**********************/
                                                  if(e.getSource() == copy)
                                                  {
                                                          //Action Copier
                                                          textArea.copy();
                                                  }
                                                 
                                                    /***********************/
                                                   /** Couper ou CTRL+X  **/
                                                  /***********************/
                                                  if(e.getSource() == cut)
                                                  {
                                                          //Action Couper
                                                          textArea.cut();
                                                  }
                                                 
                                                    /**********************/
                                                   /** Coller ou CTRL+V  **/
                                                  /*********************/
                                                  if(e.getSource() == paste)
                                                  {
                                                          //Action Coller
                                                          textArea.paste();
                                                  }
                                                 
                                                                                                    /***********/
                                                                                                   /** menu3 **/
                                                                                                  /**********/
                                                    /***********/
                                                   /** Fond  **/
                                                  /**********/
                                                  if(e.getSource() == fondR)
                                                  {
                                                          textArea.setBackground(Color.red);
                                                  }

                                                                                                    /***********/
                                                                                                   /** menu4 **/
                                                                                                  /**********/
                                                    /**************/
                                                   /** A Propos **/
                                                  /*************/
                                                  if(e.getSource() == about)
                                                  {
                                                          String a = "About";     //Titre de la boite de dialogue.
                                                          JOptionPane.showMessageDialog(null, "Projet developpé par Thomas Fageol (di-g2-16)\nVersion BETA d'un programme developpé en JAVA et qui à la license GNU (cest à dire qu'il est libre et gratuit)\nSi vous avez des questions ecrivez moi à : ptitbond@hotmail.com\n_______________\n\nMerci au site du zero, developpez.com ainsi que Zufferey Matthieu à qui je doit les idée pour la plupart des options du menu.", a, 2);//Affichage d'un message avec description du programme
                                                  }
                                          }
                                  }
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  [JAVA] defileur en JFrame

                                  × 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