Annonce

Inscriptions terminées.

#1 23-02-2005 17:57:28

Borusse
Mega Power Member
Date d'inscription: 09-11-2004
Messages: 175

Interface graphique en java

J'ai un chtit problème, avec une saleté d'interface qu'on m'a donné à faire.
En faite quand je redimensionne un objet sa redimensionne tout ceux de la colonne, pourtant j'utilise différent panel pour bien démarquer les info.
Je pense que cela doit venir du faite que j'utilise le même layout pour les panel ou alors la même variable de constraint.

aidez ouam


Papy tu n'es plus the only one "Power Member"

I'm the only one  "Powerfull Membré"

Hors ligne

 

#2 24-02-2005 10:23:46

yoda
Mega Power Member
Date d'inscription: 10-11-2004
Messages: 127

Re: Interface graphique en java

Sans code en exemple ca parait quand même difficile de t'aider ....

Hors ligne

 

#3 24-02-2005 10:33:21

papy
Mega Power Member
Date d'inscription: 03-11-2004
Messages: 302

Re: Interface graphique en java

Aller Bobo, vu que c'est moi qui t'ai demandé de faire mon interface, je t'aide un peu.
Bon par contre, j'utilise des FlowLayout horizontaux et je triche en inserant des JLabel vide pour aligner les objet, mais ça marche quand même !

Il faudra que je m'attarde sur GridBagLayout et essayer de comprendre comment arriver à la même chose en plus propre.

Code:

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.UIManager;

/*
 * Created on 22 févr. 2005
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */

/**
 * @author rchaperon
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
public class TestNouvelle extends JDialog 
{
    JPanel contentPane;
    JPanel contentPane1;
    JPanel contentPane2;
    
    FlowLayout flow = new FlowLayout();
    
    
    JPanel pano1;
    JPanel pano2;
    JPanel pano3;
    JPanel pano4;
    JPanel entPano1;
    JPanel entPano2;
    JPanel entPano3;
    JPanel entPano4;
    JPanel entPano5;
    
    JLabel title1;
    JLabel title2;
    JLabel title3;
    JLabel title4;
    JLabel title5;
    JLabel title6;
    JLabel title7;
    JLabel title8;
    JLabel titre1;
    JLabel titre2;
    JLabel entTitre1;
    JLabel entTitre2;
    JLabel entTitre3;
    JLabel entTitre4;
    JLabel entTitre5;
    JLabel entTitre6;
    JLabel entTitre7;
    
    
    JTextField champ1;
    JTextField champ2;
    JTextField champ3;
    JTextField champ4;
    JTextField champ5;
    JTextField champ6;
    JTextField champ7;
    JTextField champ8;
    JTextField entChamp1;
    JTextField entChamp2;
    JTextField entChamp3;
    JTextField entChamp4;
    JTextField entChamp5;
    JTextField entChamp6;
    JTextField entChamp7;
    
    
    
    
    
    public TestNouvelle(JFrame parent, String title)
    {
        super(parent, title,true);//"true" car fenetre modale
        this.addWindowListener(new WindowAdapter() {    
                public void windowIconified(WindowEvent e) {}
                public void windowClosing(WindowEvent e)
                {
                    System.exit(0);
                }
                });
        
        contentPane = (JPanel) this.getContentPane();
        BoxLayout bo = new BoxLayout(contentPane,BoxLayout.Y_AXIS);
        
        
        contentPane.setLayout(bo);
        
        construction();
        setup();
        
    }
    
    
    
    public void construction()
    {
        Dimension dim = new Dimension(500,20);
        Dimension dim1 = new Dimension(500,170);
        
        
//    Panneau 1
//==================================================================
        contentPane1 = new JPanel();
        contentPane1.setLayout(new BoxLayout(contentPane1,BoxLayout.Y_AXIS));
        
        titre1 = new JLabel("<html><center><b>Machine</b></center></html>");
        titre1.setPreferredSize(dim);
        contentPane1.add(titre1);
        
        JLabel space1 = new JLabel("        ");
        pano1 = new JPanel();
        pano1.setLayout(flow);
        title1 = new JLabel("   Réference :");
        champ1 = new JTextField(10);
        title2 = new JLabel("     N° de série :");
        champ2 = new JTextField(10);
        pano1.add(title1);
        pano1.add(champ1);
        pano1.add(space1);
        pano1.add(title2);
        pano1.add(champ2);
        pano1.setSize(500,10);// A VOIR
        contentPane1.add(pano1);
        
        JLabel space2 = new JLabel("        ");
        pano2 = new JPanel();
        pano2.setLayout(flow);
        title3 = new JLabel("              Tête :");
        champ3 = new JTextField(10);
        title4 = new JLabel("Encre/Solvant :");
        champ4 = new JTextField(10);
        pano2.add(title3);
        pano2.add(champ3);
        pano2.add(space2);
        pano2.add(title4);
        pano2.add(champ4);
        pano2.setSize(500,10);// A VOIR
        contentPane1.add(pano2);
        
        JLabel space3 = new JLabel("       ");
        pano3 = new JPanel();
        pano3.setLayout(flow);
        title5 = new JLabel("Commercial :");
        champ5 = new JTextField(10);
        title6 = new JLabel("      Technicien :");
        champ6 = new JTextField(10);
        pano3.add(title5);
        pano3.add(champ5);
        pano3.add(space3);
        pano3.add(title6);
        pano3.add(champ6);
        pano3.setSize(500,10);// A VOIR
        contentPane1.add(pano3);
        
        JLabel otherSpace = new JLabel("                ");
        pano4 = new JPanel();
        pano4.setLayout(flow);
        title7 = new JLabel("               Info :");
        title8 = new JLabel("      Statut :");
        champ7 = new JTextField(10);
        champ8 = new JTextField(10);
        pano4.add(title7);
        pano4.add(champ7);
        pano4.add(otherSpace);
        pano4.add(title8);
        pano4.add(champ8);
        contentPane1.add(pano4);
        
        contentPane1.setPreferredSize(dim1);
        contentPane1.setBorder(BorderFactory.createEtchedBorder());
        contentPane.add(contentPane1);
        
//        Panneau 2
//      ==================================================================
        contentPane2 = new JPanel();
        contentPane2.setLayout(new BoxLayout(contentPane2,BoxLayout.Y_AXIS));
        titre2 = new JLabel("<html><center><b>Entreprise en cours</b></center></html>");
        titre2.setPreferredSize(dim);
        contentPane2.add(titre2);
        
        JLabel space4 = new JLabel("             ");
        entPano1 = new JPanel();
        entPano1.setLayout(flow);
        entTitre1 = new JLabel("                 Nom :");
        entChamp1 = new JTextField(10);
        entTitre2 = new JLabel("<html><p>Adresse :<br>(N° et rue)</p></html>");
        entChamp2 = new JTextField(10);
        entPano1.add(entTitre1);
        entPano1.add(entChamp1);
        entPano1.add(space4);
        entPano1.add(entTitre2);
        entPano1.add(entChamp2);    
        entPano1.setSize(500,10);    
        contentPane2.add(entPano1);
        
        
        JLabel space5 = new JLabel("       ");
        entPano2 = new JPanel();
        entPano2.setLayout(flow);
        entTitre3 = new JLabel("Numero de tel :");
        entChamp3 = new JTextField(10);
        entTitre4 = new JLabel("Code Postal :");
        entChamp4 = new JTextField(10);
        entPano2.add(entTitre3);
        entPano2.add(entChamp3);
        entPano2.add(space5);
        entPano2.add(entTitre4);
        entPano2.add(entChamp4);        
        entPano2.setSize(500,10);
        contentPane2.add(entPano2);
        
        entPano4 = new JPanel();
        entPano4.setLayout(flow);
        entTitre7 = new JLabel("Personne à contacter :");
        entChamp7 = new JTextField(10);
        entPano5 = new JPanel();
        entPano5.setPreferredSize(new Dimension(260,10));
        //entPano5.setBorder(BorderFactory.createEtchedBorder());//Pour reglage taille
        entPano4.add(entTitre7);
        entPano4.add(entChamp7);
        entPano4.add(entPano5);
        contentPane2.add(entPano4);

        
        JLabel space6 = new JLabel("         ");
        entPano3 = new JPanel();
        entPano3.setLayout(flow);
        entTitre5 = new JLabel("Date de début :");
        entChamp5 = new JTextField(6);
        entTitre6 = new JLabel("Date de fin :");
        entChamp6 = new JTextField(6);
        entPano3.add(entTitre5);
        entPano3.add(entChamp5);
        entPano3.add(space6);
        entPano3.add(entTitre6);
        entPano3.add(entChamp6);
        entPano3.setSize(500,10);        
        contentPane2.add(entPano3);
        

        
        
        contentPane2.setPreferredSize(dim1);
        contentPane2.setBorder(BorderFactory.createEtchedBorder());
        contentPane.add(contentPane2);
        
    }
    
    public void setup()
    {
        setSize(600,340);
        //pack();
        setVisible(true);
    }

    public static void main(String[] args) 
    {
        try {
                 UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
            }
        catch(Exception e) 
           {
             e.printStackTrace();
           }
        TestNouvelle test = new TestNouvelle(null,"essai");
    }
    
}

Dernière modification par papy (24-02-2005 10:34:22)


Le seul et unique "MEGA Power Member" à être papa!
Java, ce qui differentie les hommes, des jeunes garçons...

Hors ligne

 

#4 24-02-2005 11:40:57

Borusse
Mega Power Member
Date d'inscription: 09-11-2004
Messages: 175

Re: Interface graphique en java

Ha ouais , tu veut du code JeBay tient voila du boudin :

Code:

package IHM;

/*
 * Created on 11 févr. 2005
 * 
 * To change the template for this generated file go to
 * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
 */

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class ReservEntreprise extends JFrame implements ActionListener {

    /** Gestionnaire de mise en pages */
    private GridBagLayout gridBagLayout = new GridBagLayout();

    private BorderLayout borderLayout = new BorderLayout();

    private GridBagConstraints c = new GridBagConstraints();

    /** Ensemble des JButton */
    private JButton ok, annuler;

    /** Ensemble des JPanel */
    private JPanel contentPane, machPane, datePane, entrPane, calPane,
            buttonPane, tempPane;

    /** Ensemble des JLabel */
    // Labels machPane
    private JLabel resMach = new JLabel("Machine");

    private JLabel labelRefMach = new JLabel("Ref : ");

    private JLabel labNumMach = new JLabel("N° : ");

    // Labels datePane
    private JLabel labelDate = new JLabel("Dates");

    private JLabel labelDbt = new JLabel("*Début : ");

    private JLabel labelFin = new JLabel("*Fin : ");

    // Labels calPane
    private JLabel labelCal = new JLabel("*Commercial : ");

    private JLabel labelTech = new JLabel("*Technicien : ");

    // Labels Entreprise
    private JLabel labelEntreprise = new JLabel("Entreprise");

    private JLabel labelNomEntre = new JLabel("*Nom : ");

    private JLabel labelNumTelEntre = new JLabel("*N° Tel : ");

    private JLabel labelAdrEntre = new JLabel("*Adresse : ");

    private JLabel labelCodPostalEntre = new JLabel("*Code Postal : ");

    private JLabel labelContactEntre = new JLabel("*Contact : ");

    private JLabel labelInfoEntre = new JLabel("Info : ");

    /** Ensemble des JTextField */
    // Champs machPane
    private JTextField champsRefMach = new JTextField(10);

    private JTextField champsNumMach = new JTextField(10);

    // Champs datePane
    private JTextField champsDbt = new JTextField(8);

    private JTextField champsFin = new JTextField(8);

    // Champs calPane
    private JTextField champsCal = new JTextField(10);

    private JTextField champsTech = new JTextField(10);

    // Champs entrPane
    private JTextField champsNomEntre = new JTextField(10);

    private JTextField champsNumTelEntre = new JTextField(10);

    private JTextArea champsAdrEntre = new JTextArea(4, 50);

    private JTextField champsCodPostalEntre = new JTextField(5);

    private JTextField champsContactEntre = new JTextField(50);

    private JTextArea champsInfoEntre = new JTextArea(4, 50);

    private Toolkit tool = null;

    public ReservEntreprise(String title)//Constructeur
    {
        super(title);//On instancie une JFrame

        // Création et installation des composants (liste, boutons)
        creeComposants();

        // Initialisation de la taille et de la position de la fenêtre
        setup();

        // On rend la fenêtre visible
        setVisible(true);
    }

    /** Initialisation de la taille et de la position de la fenêtre */
    private void setup() {
        tool = this.getToolkit();//permet l'utilisation d'un beep sonore par
        // exemple

        //On adapte la taille de la fenetre principale à la résolution de
        // l'ecran Client
        Dimension tailleEcran = Toolkit.getDefaultToolkit().getScreenSize();

        int largeur = (tailleEcran.width) / 2;
        int hauteur = (tailleEcran.height);

        setSize(largeur, hauteur);
    }

    private void creeComposants() {
        /** Initialisation des JPanel */
        // init contentPane
        contentPane = (JPanel) this.getContentPane();
        contentPane.setLayout(gridBagLayout);
        // init machPane
        machPane = new JPanel();
        machPane.setLayout(gridBagLayout);
        // init datePane
        datePane = new JPanel();
        datePane.setLayout(gridBagLayout);
        // init calPane
        calPane = new JPanel();
        calPane.setLayout(gridBagLayout);
        // init entrPane
        entrPane = new JPanel();
        entrPane.setLayout(gridBagLayout);
        // init buttonPane
        buttonPane = new JPanel();
        buttonPane.setLayout(gridBagLayout);

        /** Initialisation des JButton */
        // bouton 'Ok'
        ok = new JButton("Ok");
        ok.addActionListener(this);
        ok.setActionCommand("OK");
        // bouton 'Annuler'
        annuler = new JButton("Annuler");
        annuler.addActionListener(this);
        annuler.setActionCommand("ANNULER");

        // Ajout des labels
        c.anchor = GridBagConstraints.WEST;
        c.fill = GridBagConstraints.BOTH;

        /** construction machPane */
        // label machine
        c.gridx = 0;
        c.gridy = 2; // Colonne 0, Ligne 2
        gridBagLayout.setConstraints(resMach, c);
        machPane.add(resMach);
        
        // label ref
        c.gridx = 3;
        c.gridy = 4; // Colonne 3, Ligne 4
        gridBagLayout.setConstraints(labelRefMach, c);
        machPane.add(labelRefMach);
        // champs ref
        c.gridx = 5;
        c.gridy = 4; // Colonne 5, Ligne 4
        gridBagLayout.setConstraints(champsRefMach, c);
        machPane.add(champsRefMach);
        // label num
        c.gridx = 8;
        c.gridy = 4; // Colonne 8, Ligne 4
        gridBagLayout.setConstraints(labNumMach, c);
        machPane.add(labNumMach);
        // champs num
        c.gridwidth = GridBagConstraints.REMAINDER;
        c.gridx = 10;
        gridBagLayout.setConstraints(champsNumMach, c);
        machPane.add(champsNumMach);

        /** contruction datePane */
        // Ajout des labels
        c.anchor = GridBagConstraints.WEST;
        c.gridwidth = 1;
        // label date
        c.gridx = 0;
        c.gridy = 2; // Colonne 0, Ligne 2
        gridBagLayout.setConstraints(labelDate, c);
        datePane.add(labelDate);
        // label Début
        c.gridx = 0;
        c.gridy = 4; // Colonne 3, Ligne 4
        gridBagLayout.setConstraints(labelDbt, c);
        datePane.add(labelDbt);
        // champs Début
        c.gridx = 5;
        c.gridy = 4; // Colonne 5, Ligne 4
        gridBagLayout.setConstraints(champsDbt, c);
        datePane.add(champsDbt);
        // label Fin
        c.gridx = 7; // Colonne 7, Ligne 4
        gridBagLayout.setConstraints(labelFin, c);
        datePane.add(labelFin);
        // champs Fin
        c.gridwidth = GridBagConstraints.REMAINDER;
        c.gridx = 9; // Colonne 9, Ligne 4
        gridBagLayout.setConstraints(champsFin, c);
        datePane.add(champsFin);
        
        /** contruction calPane */
        // Ajout des labels
        c.anchor = GridBagConstraints.WEST;
        c.gridwidth = 1;
        // label commercial
        c.gridx = 0;
        c.gridy = 2; // Colonne 0, Ligne 2
        gridBagLayout.setConstraints(labelCal, c);
        calPane.add(labelCal);
        // champs commercial
        c.gridx = 10;
        gridBagLayout.setConstraints(champsCal, c);
        calPane.add(champsCal);
        // label Technicien
        c.gridwidth = GridBagConstraints.RELATIVE;
        c.gridx = 12;
        gridBagLayout.setConstraints(labelTech, c);
        calPane.add(labelTech);
        // champs Technicien
        c.gridwidth = GridBagConstraints.REMAINDER;
        c.gridx = 20;
        gridBagLayout.setConstraints(champsTech, c);
        calPane.add(champsTech);
                
        /** construction entrPane */
        // Ajout des labels
        c.anchor = GridBagConstraints.WEST;
        c.gridwidth = 1;
        // label Entreprise
        c.gridx = 0;
        c.gridy = 2; // Colonne 0, Ligne 2
        gridBagLayout.setConstraints(labelEntreprise, c);
        entrPane.add(labelEntreprise);
        // label nom entreprise
        c.gridx = 0;
        c.gridy = 4; // Colonne 3, Ligne 4
        gridBagLayout.setConstraints(labelNomEntre, c);
        entrPane.add(labelNomEntre);
        // champs nom entreprise
        c.gridx = 3;
        c.weightx = 4.0;
        gridBagLayout.setConstraints(champsNomEntre, c);
        entrPane.add(champsNomEntre);
        
        // label num tel
        c.gridwidth = GridBagConstraints.RELATIVE;
        c.gridx = 7; // Colonne 7, Ligne 4
        gridBagLayout.setConstraints(labelNumTelEntre, c);
        entrPane.add(labelNumTelEntre);
        // champs tel entreprise
        c.gridwidth = GridBagConstraints.REMAINDER;
        c.gridx = 9; // Colonne 9, Ligne 4
        gridBagLayout.setConstraints(champsNumTelEntre, c);
        entrPane.add(champsNumTelEntre);
        
        // label adresse
        c.gridwidth = GridBagConstraints.RELATIVE;
        c.gridx = 0;
        c.gridy = 6; // Colonne 3, Ligne 6
        gridBagLayout.setConstraints(labelAdrEntre, c);
        entrPane.add(labelAdrEntre);        
        // champs adresse entreprise
        c.gridx = 2;
        c.gridwidth = GridBagConstraints.REMAINDER;
        c.weightx = 50;
        gridBagLayout.setConstraints(champsAdrEntre, c);
        //entrPane.add(champsAdrEntre);
        
        // label code postal
        c.gridwidth = GridBagConstraints.RELATIVE;
        c.gridx = 0;
        c.gridy = 8; // Colonne 0, Ligne 8
        gridBagLayout.setConstraints(labelCodPostalEntre, c);
        entrPane.add(labelCodPostalEntre);
        // champs tel entreprise
        c.gridwidth = GridBagConstraints.REMAINDER;
        c.gridx = 4; // Colonne 2, Ligne 8
        gridBagLayout.setConstraints(champsCodPostalEntre, c);
        entrPane.add(champsCodPostalEntre);
        
        /** contruction contentPane */
        contentPane.add(
                machPane,
                new GridBagConstraints(
                    0,
                    0,
                    1,
                    1,
                    0.0,
                    0.0,
                    GridBagConstraints.WEST,
                    GridBagConstraints.NONE,
                    new Insets(2, 0, 9, 0),
                    1,
                    2));
        contentPane.add(
                datePane,
                new GridBagConstraints(
                    0,
                    2,
                    1,
                    1,
                    0.0,
                    0.0,
                    GridBagConstraints.WEST,
                    GridBagConstraints.NONE,
                    new Insets(2, 0, 9, 0),
                    1,
                    2));
        contentPane.add(
                calPane,
                new GridBagConstraints(
                    0,
                    4,
                    1,
                    1,
                    0.0,
                    0.0,
                    GridBagConstraints.WEST,
                    GridBagConstraints.NONE,
                    new Insets(2, 0, 9, 0),
                    1,
                    2));
        contentPane.add(
                entrPane,
                new GridBagConstraints(
                    0,
                    6,
                    1,
                    1,
                    0.0,
                    0.0,
                    GridBagConstraints.WEST,
                    GridBagConstraints.NONE,
                    new Insets(2, 0, 0, 0),
                    1,
                    2));
        
        contentPane.validate();
    }

    /** Programme principal pour tester la classe */
    public static void main(String arg[]) {
        ReservEntreprise reserv = new ReservEntreprise("Réservation machine");
    }

    /*
     * (non-Javadoc)
     * 
     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
     */
    public void actionPerformed(ActionEvent arg0) {
        // TODO Auto-generated method stub

    }
}

J'veux essayer de faire un truc propre sans code inutile Papy, et puis c'est un bon entrainement.

-> Je viens de m'apercevoir que cela viens de la JTextArea (je le savais mais je l'avait pas dit), sans la JtextArea c'est nickel mais des que je l'ajoute au panel entrePane tout part en zob.

Dernière modification par Borusse (24-02-2005 12:40:38)


Papy tu n'es plus the only one "Power Member"

I'm the only one  "Powerfull Membré"

Hors ligne

 

#5 24-02-2005 13:53:54

Borusse
Mega Power Member
Date d'inscription: 09-11-2004
Messages: 175

Re: Interface graphique en java

le pb avec le flowlayout c'est que sa fonctionne ligne par ligne, faut que je cré autant de flowlayout que de ligne


Papy tu n'es plus the only one "Power Member"

I'm the only one  "Powerfull Membré"

Hors ligne

 

#6 24-02-2005 13:55:40

papy
Mega Power Member
Date d'inscription: 03-11-2004
Messages: 302

Re: Interface graphique en java

Ha oui, je viens de compiler ta classe...wouaw!
Tout est de traviole!
Moi j'ai cherché à avoir un résultat rapide et esthétique tout de suite.
Alors effectivement, j'ai des label vides (quelques uns entre les JTextField) mais j'ai moins de code et plus de champ que toi, na!

Mais il est clair que je compte bien m'interresser au GridBagLayout et à son fonctionnement.


Le seul et unique "MEGA Power Member" à être papa!
Java, ce qui differentie les hommes, des jeunes garçons...

Hors ligne

 

#7 24-02-2005 13:57:20

papy
Mega Power Member
Date d'inscription: 03-11-2004
Messages: 302

Re: Interface graphique en java

Borusse a écrit:

le pb avec le flowlayout c'est que sa fonctionne ligne par ligne, faut que je cré autant de flowlayout que de ligne

Pas du tout regarde mon code!
Je n'ai qu'un seul FlowLayout que j'appel à chaque JPanel!


Le seul et unique "MEGA Power Member" à être papa!
Java, ce qui differentie les hommes, des jeunes garçons...

Hors ligne

 

#8 24-02-2005 14:01:53

Borusse
Mega Power Member
Date d'inscription: 09-11-2004
Messages: 175

Re: Interface graphique en java

Je viens de compiler ta source, le pb c'est qu'il faut bien compter les espaces.
Je voulais aussi tester les BoxLayout, sa m'a l'air pas aussi, surtout au niveau des espaces entre component.

C'est moi ou ce topic est interressant ?

Plus qu'à attendre la réponse du maitre jedi ^^

Dernière modification par Borusse (24-02-2005 14:02:29)


Papy tu n'es plus the only one "Power Member"

I'm the only one  "Powerfull Membré"

Hors ligne

 

#9 24-02-2005 14:03:23

Borusse
Mega Power Member
Date d'inscription: 09-11-2004
Messages: 175

Re: Interface graphique en java

papy a écrit:

Borusse a écrit:

le pb avec le flowlayout c'est que sa fonctionne ligne par ligne, faut que je cré autant de flowlayout que de ligne

Pas du tout regarde mon code!
Je n'ai qu'un seul FlowLayout que j'appel à chaque JPanel!

ouais mais tu crée autant de panel que de ligne, c'est du pareil au meme.


Papy tu n'es plus the only one "Power Member"

I'm the only one  "Powerfull Membré"

Hors ligne

 

#10 24-02-2005 14:06:38

papy
Mega Power Member
Date d'inscription: 03-11-2004
Messages: 302

Re: Interface graphique en java

Borusse a écrit:

Je viens de compiler ta source, le pb c'est qu'il faut bien compter les espaces.

Oui, ça demande quelques tests d'ajustements c'est sur, pour arriver à ce qu'on souhaite.

Borusse a écrit:

Je voulais aussi tester les BoxLayout, sa m'a l'air pas aussi, surtout au niveau des espaces entre component.

Oui, j'ai utilisé en fait des JPanel imbriqués (c'est ce qui est conseillé de faire dans les bouquins qui abordent Swing).
Mon panel principal contien 3 panel annexes en BoxLayout vertical.
Chacun des 3 panel annexe est composé de panels en FlowLayout pour chaque ligne.

Borusse a écrit:

C'est moi ou ce topic est interressant ?

Plus qu'à attendre la réponse du maitre jedi ^^

Oui, c'ets clair, mais interressant pour nous deux car à mon avis on en gonfle certains !
LOOOOOOL
Heureusement que l'on est dans la bonne rubrique!


Le seul et unique "MEGA Power Member" à être papa!
Java, ce qui differentie les hommes, des jeunes garçons...

Hors ligne

 

#11 24-02-2005 14:09:40

papy
Mega Power Member
Date d'inscription: 03-11-2004
Messages: 302

Re: Interface graphique en java

Il serait interressant d'avoir effectivement le fonctionnement de la JVM.
Utilise-t-on plus de ressource système avec mon code source ou le tien ?
On utilise pas les mêmes objets (Manager de positionnement différents) et ton code est plus long car tu dois gerer les contraintes du GridBagayout, alors que moi non.

Question interressante.

Ha attention Bobo, tu n'a pas implémenté de WindowsListener sur ta fenetre, ce qui a pour effet de démmarrer une JVM différente à chaque lancement (ralentissement progressif de ta machine car les ressources sont de moin en moins dispo) car lorsqu'on ferme ta fenetre, tu ne fait ni de "dispose();" ni de "System.exit(0);".
Méfiance!

Dernière modification par papy (24-02-2005 14:17:46)


Le seul et unique "MEGA Power Member" à être papa!
Java, ce qui differentie les hommes, des jeunes garçons...

Hors ligne

 

#12 24-02-2005 14:21:21

Borusse
Mega Power Member
Date d'inscription: 09-11-2004
Messages: 175

Re: Interface graphique en java

je viens de m'apercevoir que j'avais oublié des mots dans ma phrase, mais je sais plus quoi ^_^.
Là je viens de tester mon idée du layout par panel, mais ça me renvoie NullPointerException, je hais cette erreur qui veut tout et rien à la fois, je sais d'où sa vient quand sa s'applique à des tableau mais à un layout sa me trou.

JeBay réponds bordel, qu'es ce que tu fou ? Me dit pas que tu travail t'es sur msn toute la journée.


Papy tu n'es plus the only one "Power Member"

I'm the only one  "Powerfull Membré"

Hors ligne

 

#13 24-02-2005 14:54:47

yoda
Mega Power Member
Date d'inscription: 10-11-2004
Messages: 127

Re: Interface graphique en java

Lol, oui je travail et en plus en devellopement mais en .Net uniquement donc j'ai du mal a me replonger dans le java.
Au niveau de l'onterface graphique perso j'utilise plutot le gridbaglayout qui est plus souple et ne pose aucun problème de disposition.
Pour le reste du code, il faut que je l'imprime et que je regarde ca a tête reposé (cad pas avant ce we).
Pour nullPointerException ca veut dire que tu programme comme une chevre et que tu utilise un objet qui n'est pas instancié ;-)

Perso je prefere donc la solution de Boris pour la modularité, par contre tu devrais essayer de mettre des variable pour ce qui est du positionnement parceque si tu dois rajouter un objet en haut a gauche, il faut te refarcir tout le code a la main, ce qui est vraiment pas propre.
Pour ce qui est des ressources systèmes, fait un test tout bete mais regarde dans le gestionnaire des taches la mémoire qu'occupe le processus java et t'auras deja une petite idée, sinon il me semble qu'on peut analyser tout cva mais je sais plus comment.

Bon courage

Hors ligne

 

#14 24-02-2005 15:16:47

Borusse
Mega Power Member
Date d'inscription: 09-11-2004
Messages: 175

Re: Interface graphique en java

Ouais, j'ai planté ma chine plusieurs fois à cause des jvm.
J'en avais lancé une 20aine, du coup je les arrete à la main pas grave, c'est marrant de cliquer sur le carré rouge.

Vi, y a bien une commandepour les temps d'execution, mais je l'ai fait que rarement et sous linux en plus, c'est pas d'un grand secours.


Papy tu n'es plus the only one "Power Member"

I'm the only one  "Powerfull Membré"

Hors ligne

 

#15 24-02-2005 15:22:50

papy
Mega Power Member
Date d'inscription: 03-11-2004
Messages: 302

Re: Interface graphique en java

yoda a écrit:

Lol, oui je travail et en plus en devellopement mais en .Net uniquement donc j'ai du mal a me replonger dans le java.
Au niveau de l'onterface graphique perso j'utilise plutot le gridbaglayout qui est plus souple et ne pose aucun problème de disposition.

Alors si tu maitrise le GridBagLayout, il va falloir qu'on se programme un rendez-vous amoureux pour que tu m'explique tout ça Yoda!!!
Je ne trouve aucun tutoriel ni aucun bouquin qui explique ce manager en détail.

yoda a écrit:

Pour nullPointerException ca veut dire que tu programme comme une chevre et que tu utilise un objet qui n'est pas instancié ;-)

Ca c'est pas une nouveauté!
LOOOOOOOL


Le seul et unique "MEGA Power Member" à être papa!
Java, ce qui differentie les hommes, des jeunes garçons...

Hors ligne

 

#16 24-02-2005 16:42:14

Borusse
Mega Power Member
Date d'inscription: 09-11-2004
Messages: 175

Re: Interface graphique en java

I'm the king of the world.
But I'm the king of the Boulz too.

Sa fait 2 semaines que je me casse le cul sur ce code de merde (sa va p-e censuré mais sa fait du bien) pour mettre en forme et devinez d'où sa venait ....

Du nombre de colonne de mes JTextFields, j'en avais mis 50 du coup sa compresser toute ma fenêtre, je m'étais aperçus qu'en agrandissant ma fenetre sa marché mais depuis je l'ai oublié.

gomen gomen.

Le premier qui mouft je me lève et je lui en pose une. (sa comprend papy qui risue de prendre cher et Yoda a qui je vais taillé les oreille plus en pointe qu'elles ne le sont à l'heure actuelle)

PS : j'ai quand même bien aimé ce topic tongue

Dernière modification par Borusse (24-02-2005 16:42:53)


Papy tu n'es plus the only one "Power Member"

I'm the only one  "Powerfull Membré"

Hors ligne

 

#17 24-02-2005 17:24:32

yoda
Mega Power Member
Date d'inscription: 10-11-2004
Messages: 127

Re: Interface graphique en java

Je prend le risque de l'ouvrir parce que même pas peur ;-)
Le problème de taille des zones de texte en plus tu l'as deja eu dans un des TP cette année donc .....

Enfin ouais c vrai que la discution était sympa même si finalement je suis pas rentré dans les details du code puisque t'as eu la sol tout seul.

Pour Papy, le gridbaglayout j'avais fait mon projet de DUT en java et je les ai bien utilisé donc je peux te fournir du code un peu détaillé en exemple si tu veux.

PS : essaye de me tailler les oreilles le Bonzai et je t'acroche au mur :p

Hors ligne

 

#18 24-02-2005 18:07:36

Borusse
Mega Power Member
Date d'inscription: 09-11-2004
Messages: 175

Re: Interface graphique en java

t'avais fait quoi comme projet ?
L'arbre généalogique ?


Papy tu n'es plus the only one "Power Member"

I'm the only one  "Powerfull Membré"

Hors ligne

 

#19 24-02-2005 18:22:00

papy
Mega Power Member
Date d'inscription: 03-11-2004
Messages: 302

Re: Interface graphique en java

yoda a écrit:

Je prend le risque de l'ouvrir parce que même pas peur ;-)
Le problème de taille des zones de texte en plus tu l'as deja eu dans un des TP cette année donc .....

Enfin ouais c vrai que la discution était sympa même si finalement je suis pas rentré dans les details du code puisque t'as eu la sol tout seul.

Pour Papy, le gridbaglayout j'avais fait mon projet de DUT en java et je les ai bien utilisé donc je peux te fournir du code un peu détaillé en exemple si tu veux.

PS : essaye de me tailler les oreilles le Bonzai et je t'acroche au mur :p

Ben c'est surtout que je ne trouve rien qui explique le fonctionnement de ce manager.
Je sais qu'il y a une histoire de contraintes, mais j'y capte rien du tout.

Si ton code est super bien commenté alors je veux bien, mais sinon, aucun intéret car j'ai beau lire les sources qui les utilises je ne capte pas.


Le seul et unique "MEGA Power Member" à être papa!
Java, ce qui differentie les hommes, des jeunes garçons...

Hors ligne

 

#20 25-02-2005 09:07:43

yoda
Mega Power Member
Date d'inscription: 10-11-2004
Messages: 127

Re: Interface graphique en java

Ok papy normalement j'avais commenté et puis de toute facon je dois etre capable de relire mon code et de l'expliquer.
Pour Boris oui c'etait le mini-logiciel de généalogie.

Hors ligne

 

#21 25-02-2005 16:54:11

Borusse
Mega Power Member
Date d'inscription: 09-11-2004
Messages: 175

Re: Interface graphique en java

Pour Yoda :
C'est la mère michelle qui a perdu son chat
Qui crie à la fenêtre à qui le lui rendra


Papy tu n'es plus the only one "Power Member"

I'm the only one  "Powerfull Membré"

Hors ligne

 

#22 01-03-2005 10:43:21

papy
Mega Power Member
Date d'inscription: 03-11-2004
Messages: 302

Re: Interface graphique en java

Bon, moi mon logiciel avance.
J'en suis à 5300 lignes de code ...

Bobo je gère donc la création d'une nouvelle machine, les modifications des données d'une machine (via la même interface) et je gère la destruction de l'objet EntrepriseEnCours si on modifie les données en éffacant le nom et l'adresse de l'entreprise en cours d'une machine.

Il va falloir que je retouche un peu ton interface que je trouve trop "compacte" pour un utilisateur un peu neuneu (enfin pas informaticien quoi) genre commercial ou assistante.
Il faudra que j'aère un peu tout ça (chaud les marrons quand c'est pas toi qui a écrit le code mais bon).

voila les news côté prog.

Sinon il était question que Imaje me prolonge et du coup, je n'en saurrai plus qu'à la fin de la semaine (les pd).


Le seul et unique "MEGA Power Member" à être papa!
Java, ce qui differentie les hommes, des jeunes garçons...

Hors ligne

 

#23 01-03-2005 11:22:55

Borusse
Mega Power Member
Date d'inscription: 09-11-2004
Messages: 175

Re: Interface graphique en java

pour aérer suffit de modifier les insets, c'est le plus simple


Papy tu n'es plus the only one "Power Member"

I'm the only one  "Powerfull Membré"

Hors ligne

 

#24 03-03-2005 13:58:47

papy
Mega Power Member
Date d'inscription: 03-11-2004
Messages: 302

Re: Interface graphique en java

Au fait Bobo j'ai fait une scéance de tests pour détecter les bugg.

J'en ai résolu pleins dans la consultation des entreprises car il ne recherchait pas dans tout (historique, réservations, etc...).
Maintenant c'est tout bon.
Si tu veux le source de mon logiciel corrigé, non problemo.


Le seul et unique "MEGA Power Member" à être papa!
Java, ce qui differentie les hommes, des jeunes garçons...

Hors ligne

 

#25 04-03-2005 12:53:45

papy
Mega Power Member
Date d'inscription: 03-11-2004
Messages: 302

Re: Interface graphique en java

ET je vais bientôt passer la barre des 6000 lignes de code les enfants!

yikes <--- Régis, à fond.


Le seul et unique "MEGA Power Member" à être papa!
Java, ce qui differentie les hommes, des jeunes garçons...

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Classement Internet