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

AWT/Swing Java Discussion :

Développement d'une interface graphique


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 1
    Par défaut Développement d'une interface graphique
    Bonjour à tous,

    Je suis actuellement novice dans l'utilisation du langage Java et je me heurte à des difficultés...

    Je souhaite créer une interface avec des onglets (ce que j'ai réussi à faire) et insérer à l'intérieur de ces onglets, des courbes, des histogrammes...

    J'ai réussi à créer par exemple un PieChart et les onglets, mais je n'arrive pas à insérer celui-ci à l'intérieur de cet onglet.
    Code : 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
    package Projet;
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.GridLayout;
     
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTabbedPane;
    import javax.swing.SwingConstants;
     
    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.ChartFrame;
    import org.jfree.chart.JFreeChart;
    import org.jfree.data.general.DefaultPieDataset;
     
    public class WindowA extends JFrame{
     
        public WindowA(){
     
            JFrame fenetre = new JFrame(); // Nouvelle interface graphique.
            fenetre.setDefaultCloseOperation(EXIT_ON_CLOSE); // On arrête le processus JAVA après fermeture de l'interface.
            fenetre.setTitle("Ma première interface graphique");// Titre.
            fenetre.setSize(new Dimension(400,400)); // Dimensions.
            fenetre.setLocationRelativeTo(null);// Positionnement de la fenêtre sur l'écran
            fenetre.setAlwaysOnTop(false);// fenêtre au premier plan quoi qu'il advienne. Ici ce n'est pas le cas
     
            JPanel panel=new JPanel();
            panel.setBackground(Color.white);
            this.setContentPane(panel);// on prévient notre JFrame que pan sera notre Content pane ou nous pourrons inclure des composants à l'intérieur
     
            JTabbedPane onglets = new JTabbedPane(JTabbedPane.TOP, JTabbedPane.SCROLL_TAB_LAYOUT);// placé en bas. et barre de defilement si pas assez place en ligne
     
            JPanel onglet1 = new JPanel(); // On crée le panel qui va contenir l'onglet
            JLabel titreOnglet1 = new JLabel("Energy Consumption today"); // Titre de l'onglet
            onglet1.add(titreOnglet1);// On lui ajoute ce titre à l'intérieur de l'onglet
            onglet1.setPreferredSize(new Dimension (400,900));// Dimension de l'onglet.
            onglets.add("Energy", onglet1);
            onglet1.setBackground(Color.WHITE);
     
            JPanel onglet2 = new JPanel(); // On crée le panel qui va contenir l'onglet
            JLabel titreOnglet2 = new JLabel("Electrical consumption"); // Titre de l'onglet
            onglet2.add(titreOnglet2);// On lui ajoute ce titre
            // Comment ajouter une icone ?
            onglet2.setPreferredSize(new Dimension (300,80));// Dimension de l'onglet.
            onglets.add("Electrical consumption", onglet2);
            onglet2.setBackground(Color.WHITE);
     
            JPanel onglet3 = new JPanel(); // On crée le panel qui va contenir l'onglet
            JLabel titreOnglet3 = new JLabel("CO2"); // Titre de l'onglet
            onglet3.add(titreOnglet3);// On lui ajoute ce titre
            onglet3.setPreferredSize(new Dimension (300,80));// Dimension de l'onglet.
            onglets.add("CO2", onglet3);
            onglet3.setBackground(Color.WHITE);
     
            onglets.setBackground(Color.RED);    
     
            // On crée une base de données
     
            DefaultPieDataset data = new DefaultPieDataset();
            data.setValue("Categorie 1", 30);
            data.setValue("Categorie 2", 30);            
            data.setValue("Categorie 3", 40);
            //On crée la PieChart
            JFreeChart Chart=ChartFactory.createPieChart("Sample Pie Chart", data, true, true, false);
     
            //create and display a frame
     
            ChartFrame frame = new ChartFrame("JFreeChart: Fisrt.java", Chart);
            frame.pack();        
            frame.setVisible(true);
     
            panel.add(onglets);
            fenetre.add(panel);
            fenetre.setVisible(true); // On la rend visible.
        }
     
        public static void main(String[] args){
     
            WindowA fenetre=new WindowA();
        }
    }
    Merci d'avance et de votre temps.
    Je n'ai rien essayé pour l'introduire à l'intérieur de l'onglet, mais j'ai essayé pas mal de choses avec add(), addTab(), rien ne fonctionne.

    Quelqu'un saurait-il me guider un peu ?

    Merci d'avance pour votre aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 49
    Par défaut
    Bonsoir,

    Tu ne mets à aucun moment tes diagrammes dans tes onglets mais, du coup, ChartFrame faut oublier utilises plutôt ChartPanel

    http://www.jfree.org/jfreechart/api/...hartPanel.html

    Ensuite, il y a beaucoup de choses que je comprend pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            JPanel onglet1 = new JPanel(); 
            JLabel titreOnglet1 = new JLabel("Energy Consumption today"); // Titre de l'onglet (De l'onglet ou du diagramme??)
            onglet1.add(titreOnglet1);
            onglet1.setPreferredSize(new Dimension (400,900));
            onglets.add("Energy", onglet1);//Pas sur que c'est ce que tu veux vraiment faire
            onglet1.setBackground(Color.WHITE);
    Pour ton titreOnglet1, si c'est le titre du diagramme tu as juste a faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JFreeChart Chart=ChartFactory.createPieChart("Energy Consumption today", data, true, true, false);
    Si tu ne veux pas associer ce titre au diagramme il te faut redéfinir le layout du JPanel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    onglet1.setLayout(new BorderLayout());// Permet de positionner les composants selon les points cardinaux
    onglet1.add(titreOnglet1, BorderLayout.NORTH);//On l'ajoute en haut du panel
    onglet1.add(diagramme, BorderLayout.CENTER);//diagramme est de type chartPanel et contient déjà le diagramme
    Pour l'ajouter au JTabbedPane :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onglets.addTab("Energy", onglet1);//addTab permet de créer un onglet avec un titre et le contenu
    Pour résumer: (Je pars du principe que titreOnglet1 est le titre du diagramme)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //pour l'onglet1
    JFreeChart chart=ChartFactory.createPieChart("Energy Consumption today", data, true, true, false);
    ChartPanel onglet1 = new ChartPanel(chart);
    onglets.addTab("Energy", onglet1);
    Et tu refais la même chose pour tous les autres onglets (regarde si tu peux pas automatiser le tout)

Discussions similaires

  1. Développement d'une interface graphique
    Par ABAM3194 dans le forum MFC
    Réponses: 7
    Dernier message: 17/04/2013, 15h48
  2. Réponses: 3
    Dernier message: 22/09/2012, 16h27
  3. Réponses: 0
    Dernier message: 07/07/2012, 00h07
  4. Développement d'une interface graphique personalisée.
    Par Simonake dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 16/03/2010, 03h35
  5. Développement d'une interface graphique pour scanner
    Par dewey01 dans le forum GTK+ avec C & C++
    Réponses: 13
    Dernier message: 01/02/2009, 22h18

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