Précédent   Forum du club des développeurs et IT Pro > Java > Interfaces Graphiques en Java
Interfaces Graphiques en Java Forum d'entraide pour les interfaces graphiques en Java (Swing, AWT, JFace, SWT, Graphisme 2D et 3D, clients riches, ...). Avant de poster -> Les cours sur les Interfaces Graphiques - FAQ GUI Java
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 11/10/2012, 20h15   #1
Jolt0x
Futur Membre du Club
 
Inscription : février 2010
Messages : 106
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 106
Points : 19
Points : 19
Par défaut Plug-In WindowBuilder sous Eclipse

Bonjour,

Je suis sous Eclipse Juno (dernière version), j’utilise le plug-in WindowBuilder. J'ai deux questions. La première sur ce plug-in proprement dit et la seconde une question de Java.

1 - Je viens de VB6 et Delphi. Ces IDE sont super. Je ne pense pas la même chose de WindowBuiler. J'ai toute les peines du monde à mettre un simple bouton à l'endroit voulu. C'est une catastrophe. J'ai essayé des layout (AWT et Swing) en tout genre, notamment des GridBagLayout. La philosophie de découper un layout en grille, puis d’accéder et mettre des composant dans les cases de ces grille est pas mal. Sauf que c'est une horreur. De mon point de vue.

Question: existe-t-il la possibilité de mettre des composants au pixel près, comme en VB ? Il y a notamment sous Java, des méthode setBounds qui permettent de positionner un composant au pixel près et avec la taille voulu. Sauf que cela ne semble pas marcher sur WindowBuiler. Une solution ?

2- Voila mon code (pas propre, c'est un test):
Code :
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
import java.awt.EventQueue;
 
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
 
import java.awt.BorderLayout;
import javax.swing.JButton;
 
import java.awt.Dimension;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.awt.TextArea;
 
import javax.swing.JLabel;
import javax.swing.JProgressBar;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.SwingConstants;
import java.awt.Color;
import javax.swing.UIManager;
import javax.swing.JTextArea;
 
public class testWB {
 
    private JFrame frame;
 
    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    testWB window = new testWB();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }
 
    /**
     * Create the application.
     */
    public testWB() {
        initialize();
    }
 
    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setBounds(100, 100, 650, 400);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        JPanel panelCenter = new JPanel();
        frame.getContentPane().add(panelCenter, BorderLayout.CENTER);
 
        GridBagLayout gbl_panelCenter = new GridBagLayout();
        gbl_panelCenter.columnWidths = new int[]{184, 65, 0, 0, 0, 0, 0, 0, 0};
        gbl_panelCenter.rowHeights = new int[]{23, 0, 0, 0, 0, 0, 0, 0, 0, 0};
        gbl_panelCenter.columnWeights = new double[]{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
        gbl_panelCenter.rowWeights = new double[]{0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
        panelCenter.setLayout(gbl_panelCenter);
 
        JLabel lblNewLabel = new JLabel("Boutton 1");
        GridBagConstraints gbc_lblNewLabel = new GridBagConstraints();
        gbc_lblNewLabel.insets = new Insets(0, 0, 5, 5);
        gbc_lblNewLabel.gridx = 0;
        gbc_lblNewLabel.gridy = 1;
        panelCenter.add(lblNewLabel, gbc_lblNewLabel);
 
                final JProgressBar progressBar = new JProgressBar();
 
                GridBagConstraints gbc_progressBar = new GridBagConstraints();
                gbc_progressBar.insets = new Insets(0, 0, 5, 5);
                gbc_progressBar.gridx = 1;
                gbc_progressBar.gridy = 1;
 
                panelCenter.add(progressBar, gbc_progressBar);
                progressBar.setValue(50);
                progressBar.setStringPainted(true);
                progressBar.setSize(10,10);
                //progressBar.setForeground(new Color(51, 255, 0));
                // progressBar.setBackground(UIManager.getColor("Button.background"));
                // progressBar.setSize(25,10);
 
                final JTextArea textArea = new JTextArea();
                panelCenter.add(textArea);
                textArea.setAutoscrolls(false);
                textArea.setEditable(false);
                JScrollPane scrollPane = new JScrollPane(textArea);
                scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
                scrollPane.setPreferredSize(new Dimension(100, 150));
                panelCenter.add(scrollPane);
 
 
                final JButton btnNewButton = new JButton("Button");
 
                        btnNewButton.addActionListener(new ActionListener() {
                            public void actionPerformed(ActionEvent e) {
                //                callback (e);
                                // progressBar.setValue(75);
                                if (e.getSource() == btnNewButton) {
                                     // JOptionPane.showMessageDialog(frame, "klhqsdlkdhs");
                                    // progressBar.setValue(100);
                                     // for(int i=0; i<15; i++) ;
                                        textArea.append("append!!!\n");
                                }
                            }    
                        });
 
                        GridBagConstraints gbc_btnNewButton = new GridBagConstraints();
                        gbc_btnNewButton.insets = new Insets(0, 0, 5, 5);
                        gbc_btnNewButton.anchor = GridBagConstraints.NORTHWEST;
                        gbc_btnNewButton.gridx = 2;
                        gbc_btnNewButton.gridy = 1;
                        panelCenter.add(btnNewButton, gbc_btnNewButton);
 
                        GridBagConstraints gbc_textArea = new GridBagConstraints();
                        gbc_textArea.gridwidth = 3;
                        gbc_textArea.insets = new Insets(0, 0, 5, 5);
                        gbc_textArea.fill = GridBagConstraints.BOTH;
                        gbc_textArea.gridx = 0;
                        gbc_textArea.gridy = 3;
                        panelCenter.add(textArea, gbc_textArea);
    }
 
    private void callback(java.awt.event.ActionEvent evt) {
        System.out.println("Ca passe dans call back"); 
//        progressBar.setValue(75);
/*
        if (e.getSource() == btnNewButton)
             JOptionPane.showMessageDialog(frame, "klhqsdlkdhs") ; 
             progressBar.setValue(100);
*/
    }
}
Le problème est que ça ne fonction pas bien.

A la main (sans WindowBuilder), j'ai essayé de mettre un JScrollPane sur un objet JTextArea, lui même dans un container JPanel, lui même dans une JFrame. Lorsque je reviens dans la zone "Design" pour les graphiques, le plug-in WindowBuilder me génère erreur suivante:
Citation:
The textArea component is added to a parent component more than once.

JScrollPane scrollPane = new JScrollPane(textArea);
panelCenter.add(textArea, gbc_textArea);
Lorsque je supprime panelCenter.add(textArea, gbc_textArea);, ça fonctionne, le JScrolPanel est bien associé au JTextArea mais il est en "haut" au lieu d’être en bas (en bas du bouton).

Quelqu'un saurait-il m'indiquer comment faire ?

Merci de toute aide.
Jolt0x est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2012, 14h02   #2
Jolt0x
Futur Membre du Club
 
Inscription : février 2010
Messages : 106
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 106
Points : 19
Points : 19
Pour la question 2, j'ai réussi. J'ai ajouté au Panel l'objet ScrollPane avec un GridBagConstraints bien construit. OK.

En revanche pour la question 1, j'émets de sérieux doutes sur le Plug-In WindowBuilder (sans doute n'ai-je pas consacré suffisamment de temps, encore). J'ai refait un peu de source à la main, et j'ai notamment renommé certains objets et lorsque je suis revenu en mode Design, j'ai eu des messages d'erreur indiquant que les noms de variable avaient changé et que la vue en mode Design ne pouvait plus se faire. J'ai arrangé tout cela.

Je repose ma question: est-ce que dans WindowBuilder (plug-in) il y a moyen de mettre les composants au pixel près, sans se soucier des layout ? Il y a moyen, en code Java, de mettre de composant où on veut, au pixel près, avec les méthode SetBounds(), mais il semblerait que l'on ne puise pas le faire avec WindowBuilder. Il semblerait que l'usage d'un Layout soit indispensable pour ajouter des composants. Quid ?
Jolt0x est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2012, 08h00   #3
sinok
Modérateur
 
Avatar de sinok
 
Inscription : août 2004
Messages : 8 633
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2004
Messages : 8 633
Points : 12 433
Points : 12 433
Placer ses composants au pixel près à grands coups de setBound est une mauvaise pratique en soit.

Redimensionnement impossible en fonction de la taille de la fenêtre.
Applications qui d'un système à l'autre, voir même d'un look and feel à l'autre vont proposer des rendus boiteux (en effets, les polices ne prennent pas toutes le même espace et ainsi de suite).
Le éléments contenus dans les scrollpane qui n'activent pas le scroll a moins qu'on ne leur set manuellement leur preferredSize.
Code spaghetti à moitié unmaintenable...

Et ainsi de suite pour les horreurs.


Le problème ici, c'est plutôt que tu pars un peu bille en tête dans le GridBagLayout sans vraiment savoir à quoi en correspond les options. (weightx/y, fill, anchor et autres joyeusetés). Puis la bestiole est un poil trop complexe à mon gout pour cette tâche.

Par contre, Windowbuilder supporte l'excellent FormLayout, qui lui te laissera un peu plus de marge et de compréhension par rapport à ce que tu fais, et, de plus est vraiment prévu pour tout ce qui est redimensionnement et adaption à touts type d'écrans.

Voici un tutoriel concernant son utilisation sous WindowBuilder:
https://developers.google.com/java-d...ies_formlayout

Un tuto sur le FormLayout en lui même: http://www.thekua.com/rant/2006/02/t...rief-tutorial/

Ainsi qu'une cheat sheet pour ce layout: http://web.archive.org/web/200606131...at%20Sheet.pdf
__________________
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.
sinok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2012, 17h00   #4
Jolt0x
Futur Membre du Club
 
Inscription : février 2010
Messages : 106
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 106
Points : 19
Points : 19
OK, merci pour les liens.

J'ai une question, non spécifique à WindowBuilder. J esouhaiterais mettre un barre de progression. J'ai essayé le composant JProgressBar mais je n'arrive pas a augmenter sa taille (en largeur. Comment faire ? j'ai essayé toute les méthode, size() and co. No result.

Est-ce que il faut la mettre dans un Panel ?
Jolt0x est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2012, 17h42   #5
sinok
Modérateur
 
Avatar de sinok
 
Inscription : août 2004
Messages : 8 633
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2004
Messages : 8 633
Points : 12 433
Points : 12 433
Normalement, pas besoin de toucher au méthodes size & cie, c'est le rôle du layout.

Comment places tu ta JProgressBar dans ton Layout?
__________________
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.
sinok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2012, 16h05   #6
Jolt0x
Futur Membre du Club
 
Inscription : février 2010
Messages : 106
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 106
Points : 19
Points : 19
Je ne lis tes liens qu'en ce moment, seulement. Les layouts, c'est imbuvable.

Je regrete mon VB.
Jolt0x est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2012, 16h13   #7
wax78
Modérateur
 
Avatar de wax78
 
Homme Renaud Warnotte
Développeur informatique
Inscription : août 2006
Messages : 2 127
Détails du profil
Informations personnelles :
Nom : Homme Renaud Warnotte
Âge : 32
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2006
Messages : 2 127
Points : 4 061
Points : 4 061
Envoyer un message via MSN à wax78
Citation:
Envoyé par Jolt0x Voir le message
Je regrete mon VB.
A mon avis c'est une question d'habitude que je peux comprendre, mais franchement VB ... ce n'est pas trop ca

Une fois les layout maitrisés tu changeras peut être d'avis.

Sinon dans windowsbuilder il existe bel et bien le "absolute layout" qui permet de position au pixel près (mais sinok a raison sur ce point, c'est pas top top).
wax78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2012, 17h01   #8
Jolt0x
Futur Membre du Club
 
Inscription : février 2010
Messages : 106
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 106
Points : 19
Points : 19
Bonsoir,

Je rame. Mon source:

Code :
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
 
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JTextArea;
import javax.swing.JTextField;
 
 
public class MyJProgressBar {
 
 
	JFrame MyFrame;
	JLabel lblFile;
	JLabel lbl;
	JTextField MyTextField;
	JTextArea MyTextArea;
	// JTextField MyTextField;
	JProgressBar MyProgressBar;
 
	JButton makeNewFolderButton; 
	JButton okButton; 
	JButton cancelButton; 
 
 
	public MyJProgressBar() {
 
		MyFrame = new JFrame("Ma Frame");
		// MyFrame.setSize(600, 350);
		MyFrame.setLayout(new GridBagLayout());
		MyFrame.setBounds(150, 100, 650, 400);
		MyFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
		lblFile = new JLabel("sdfsdfdfsdfsdf");
		lbl = new JLabel("File : ");
 
		MyTextField = new JTextField();
 
		MyTextArea = new JTextArea();
 
		JButton okButton = new JButton("Ok");
		JButton cancelButton = new JButton("Cancel");
 
		MyProgressBar = new JProgressBar();
 
		okButton.setPreferredSize(cancelButton.getPreferredSize());
		okButton.setMinimumSize(cancelButton.getMinimumSize());
 
		GridBagConstraints gbc = new GridBagConstraints();
 
		gbc.gridx = 0;
		gbc.gridy = 0;
		gbc.gridwidth = GridBagConstraints.REMAINDER;
		gbc.gridheight = 1;
		gbc.anchor = GridBagConstraints.LINE_START; // ou BASELINE_LEADING mais pas WEST.
		gbc.insets = new Insets(10, 15, 0, 0); // Marge à gauche de 15 et marge au dessus de 10.
		MyFrame.add(lbl, gbc);
 
 
		gbc.gridx = 0;
		gbc.gridy = 1;
//		gbc.gridwidth = GridBagConstraints.REMAINDER;
		gbc.gridwidth = 3;
		gbc.gridheight = 1;
		gbc.weighty = 0;
		gbc.anchor = GridBagConstraints.LINE_START; // ou BASELINE_LEADING mais pas WEST.
		gbc.insets = new Insets(10, 15, 0, 0); // Marge à gauche de 15 et marge au dessus de 10.
		MyFrame.add(lblFile, gbc);
 
 
		gbc.gridx = 0;
		gbc.gridy = 2;
		gbc.gridwidth = 3;
		gbc.gridheight = 1;
		gbc.weightx = 1;
		gbc.weighty = 0;
		gbc.fill = GridBagConstraints.BOTH;
		gbc.anchor = GridBagConstraints.LINE_START; // ou BASELINE_LEADING mais pas WEST.
		gbc.insets = new Insets(10, 15, 0, 0); // Marge à gauche de 15 et marge au dessus de 10.
		MyFrame.add(MyProgressBar, gbc);
 
		gbc.gridx = 0;
		gbc.gridy = 3;
		gbc.gridwidth = 3;
		gbc.gridheight = 1;
		gbc.weightx = 1;
		gbc.weighty = 1;
		gbc.fill = GridBagConstraints.BOTH;
		gbc.anchor = GridBagConstraints.LINE_START; // ou BASELINE_LEADING mais pas WEST.
		gbc.insets = new Insets(10, 15, 0, 0); // Marge à gauche de 15 et marge au dessus de 10.
		MyFrame.add(MyTextArea, gbc);
 
		gbc.gridx = 3;
		gbc.gridy = 3;
		gbc.gridwidth = 1;
		gbc.gridheight = 1;
		gbc.fill = GridBagConstraints.BASELINE;
		gbc.anchor = GridBagConstraints.LINE_START; // ou BASELINE_LEADING mais pas WEST.
		gbc.insets = new Insets(10, 15, 0, 0); // Marge à gauche de 15 et marge au dessus de 10.
		MyFrame.add(okButton, gbc);
 
 
		/*		
		JPanel panelCenter = new JPanel();
		MyFrame.getContentPane().add(panelCenter, BorderLayout.CENTER);
		GridBagLayout gbl = new GridBagLayout();
		panelCenter.setLayout(gbl);
		 */
 
		MyFrame.setVisible(true);
		// MyFrame.validate();
	}
 
 
	public static void main(String[] args) {
		MyJProgressBar vMyProgressBar;
		vMyProgressBar = new MyJProgressBar();
	}
 
}
Mon bouton est trop à droite et il faut le mettre en desous du textArea. Lorsque je positione le gridx à 2, le bouton est caché par le TextArea.
Jolt0x est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 22/10/2012, 13h25   #9
sinok
Modérateur
 
Avatar de sinok
 
Inscription : août 2004
Messages : 8 633
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2004
Messages : 8 633
Points : 12 433
Points : 12 433
Tu as mis ton bouton dans la mauvaise case de la grille (sur la même ligne que la JTextArea, une case à droite (3,3) alors qu'il fallait la mettre dans la seconde colonne une ligne en dessous (2,4).

Dessine ton interface sur papier puis trace ta grille par dessus, ça te permettra de voir efficacement où tu dois placer tes composants.

De même, afin que ton bouton soit en fin de ligne, iil vaut mieux utiliser LINE_END comme anchor que LINE_START (ça tombe un peu sous le sens).

Puis lui affecter un poids nul dans ses paramètres de redimensionnement (weighty mis à 0).

Voici la version corrigée.

Code :
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
import javax.swing.JTextArea;
import javax.swing.JTextField;
 
 
public class MyJProgressBar {
 
 
    JFrame MyFrame;
    JLabel lblFile;
    JLabel lbl;
    JTextField MyTextField;
    JTextArea MyTextArea;
    // JTextField MyTextField;
    JProgressBar MyProgressBar;
 
    JButton makeNewFolderButton; 
    JButton okButton; 
    JButton cancelButton; 
 
 
    public MyJProgressBar() {
 
        MyFrame = new JFrame("Ma Frame");
        // MyFrame.setSize(600, 350);
        MyFrame.setLayout(new GridBagLayout());
        MyFrame.setBounds(150, 100, 650, 400);
        MyFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        lblFile = new JLabel("sdfsdfdfsdfsdf");
        lbl = new JLabel("File : ");
 
        MyTextField = new JTextField();
 
        MyTextArea = new JTextArea();
 
        JButton okButton = new JButton("Ok");
        JButton cancelButton = new JButton("Cancel");
 
        MyProgressBar = new JProgressBar();
 
        //okButton.setPreferredSize(cancelButton.getPreferredSize());
        //okButton.setMinimumSize(cancelButton.getMinimumSize());
 
        GridBagConstraints gbc = new GridBagConstraints();
 
        gbc.gridx = 0;
        gbc.gridy = 0;
        gbc.gridwidth = GridBagConstraints.REMAINDER;
        gbc.gridheight = 1;
        gbc.anchor = GridBagConstraints.LINE_START; // ou BASELINE_LEADING mais pas WEST.
        gbc.insets = new Insets(10, 15, 0, 15); // Marge à gauche de 15 et marge au dessus de 10.
        MyFrame.add(lbl, gbc);
 
 
        gbc.gridx = 0;
        gbc.gridy = 1;
//        gbc.gridwidth = GridBagConstraints.REMAINDER;
        gbc.gridwidth = 3;
        gbc.gridheight = 1;
        gbc.weighty = 0;
        gbc.anchor = GridBagConstraints.LINE_START; // ou BASELINE_LEADING mais pas WEST.
        gbc.insets = new Insets(10, 15, 0, 15); // Marge à gauche de 15 et marge au dessus de 10.
        MyFrame.add(lblFile, gbc);
 
 
        gbc.gridx = 0;
        gbc.gridy = 2;
        gbc.gridwidth = 3;
        gbc.gridheight = 1;
        gbc.weightx = 1;
        gbc.weighty = 0;
        gbc.fill = GridBagConstraints.BOTH;
        gbc.anchor = GridBagConstraints.LINE_START; // ou BASELINE_LEADING mais pas WEST.
        gbc.insets = new Insets(10, 15, 0, 15); // Marge à gauche de 15 et marge au dessus de 10.
        MyFrame.add(MyProgressBar, gbc);
 
        gbc.gridx = 0;
        gbc.gridy = 3;
        gbc.gridwidth = 3;
        gbc.gridheight = 1;
        gbc.weightx = 1;
        gbc.weighty = 1;
        gbc.fill = GridBagConstraints.BOTH;
        gbc.anchor = GridBagConstraints.LINE_START; // ou BASELINE_LEADING mais pas WEST.
        gbc.insets = new Insets(10, 15, 0, 15); // Marge à gauche de 15 et marge au dessus de 10.
        MyFrame.add(MyTextArea, gbc);
 
        gbc.gridx = 2;
        gbc.gridy = 4;
        gbc.gridwidth = 1;
        gbc.gridheight = 1;
        gbc.weightx=0;
        gbc.weighty=0;
        gbc.fill = GridBagConstraints.NONE;
        gbc.anchor = GridBagConstraints.LINE_END; // ou BASELINE_LEADING mais pas WEST.
        gbc.insets = new Insets(10, 15, 5, 15); // Marge à gauche de 15 et marge au dessus de 10.
        MyFrame.add(okButton, gbc);
 
 
        /*        
        JPanel panelCenter = new JPanel();
        MyFrame.getContentPane().add(panelCenter, BorderLayout.CENTER);
        GridBagLayout gbl = new GridBagLayout();
        panelCenter.setLayout(gbl);
         */
 
        MyFrame.setVisible(true);
        // MyFrame.validate();
    }
 
 
    public static void main(String[] args) {
        MyJProgressBar vMyProgressBar;
        vMyProgressBar = new MyJProgressBar();
    }
 
}
__________________
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.
sinok est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h24.


 
 
 
 
Partenaires

Hébergement Web