Question : Quelques problèmes de Java avec JToolBar, tailles de bouton, JPane, constantes etc.

J'ajoute ici le code pour Colorizer.java. On le cense être une pratique sur installer un GUI. Il n'y a aucun intenton sur faire le code pour un vrai programme de peinture. En faisant cette pratique fait par soi-même, je suis devenu stuck sur les points suivants :

(-) que je ne suis pas parvenu à obtenir tous les boutons pour être les mêmes tailles. 50x50 éprouvés, mais moi ne suis pas sûrs si c'est la taille correcte. Cela n'a pas fonctionné anyway.
(-) que le buttonrow est placé incorrectement au centre. On le cense être placé directement sous le menuline l'ONU le corner.
(-) que le drawingpanel dans l'unité centrale a la taille fausse. Il devrait compléter le reste du window.
(-) Using la VERTICALE constante ne semble pas travailler. J'ai pensé que j'avais importé les bibliothèques correctly.
de classe (-) quand je traîne outre du JToolBar de l'unité centrale, et puis la fin il, j'obtiens l'erreur suivante :
Exception en fil « AWT-EventQueue-0 » java.lang.IllegalArgumentException : le canno
t s'ajoutent à la disposition : les contraintes doivent être un GridBagConstraint
au
de java.awt.GridBagLayout.addLayoutComponent (source d'Unknown) au
de java.awt. Container.addImpl (source inconnue) à java.awt.
de Container.add (source d'Unknown) à javax.swing.plaf.basic.
de BasicToolBarUI$FrameListener.windowClosing (source de Unk
nown) au
de java.awt. Window.processWindowEvent (source d'Unknown) au
de javax.swing.JDialog.processWindowEvent (source d'Unknown) au
de java.awt. Window.processEvent (source d'Unknown) à java.awt.
de Component.dispatchEventImpl (source inconnue) à java.awt.
de Container.dispatchEventImpl (source inconnue) à java.awt. Window.dispatchEventImpl (
de source d'Unknown) à java.awt. Le
de Component.dispatchEvent (source d'Unknown) au
de java.awt.EventQueue.dispatchEvent (source d'Unknown) au
de java.awt.EventDispatchThread.pumpOneEventForFilters (source d'Unknown) au
de java.awt.EventDispatchThread.pumpEventsForFilter (source d'Unknown) au
de java.awt.EventDispatchThread.pumpEventsForHierarchy (source d'Unknown) au
de java.awt.EventDispatchThread.pumpEvents (source d'Unknown) au
de java.awt.EventDispatchThread.pumpEvents (source d'Unknown) au

After de java.awt.EventDispatchThread.run (source d'Unknown) que le JToolBar est fermé, un neuf saute vers le haut où on le cense être placé dès le début (voir la description ci-dessus). le

Hope vous des gues pouvez aider me.
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
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 :
145 :
146 :
147 :
148 :
149 :
150 :
151 :
152 :
153 :
154 :
155 :
156 :
157 :
158 :
159 :
160 :
161 :
>import " de l'id= " codeSnippet766229 de
           
class= de

Réponse : Quelques problèmes de Java avec JToolBar, tailles de bouton, JPane, constantes etc.

Désolé, voici le 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 :
145 :
146 :
147 :
148 :
149 :
150 :
151 :
152 :
153 :
154 :
155 :
156 :
157 :
158 :
159 :
160 :
161 :
162 :
163 :
164 :
165 :
166 :
167 :
168 :
169 :
170 :
171 :
172 :
173 :
174 :
175 :
176 :
177 :
178 :
179 :
180 :
181 :
182 :
183 :
184 :
185 :
186 :
187 :
188 :
189 :
190 :
191 :
192 :
193 :
194 :
195 :
196 :
197 :
198 :
199 :
200 :
importation java.awt.BorderLayout ;
importation java.awt. Couleur ;
importation java.awt. Dimension ;
importation java.awt.GridBagConstraints ;
importation java.awt.GridBagLayout ;
importation java.awt.GridLayout ;
importation java.awt.event.ActionEvent ;
importation java.awt.event.ActionListener ;

importation javax.swing.BorderFactory ;
importation javax.swing.JButton ;
importation javax.swing.JDialog ;
importation javax.swing.JFrame ;
importation javax.swing.JLabel ;
importation javax.swing.JMenu ;
importation javax.swing.JMenuBar ;
importation javax.swing.JMenuItem ;
importation javax.swing.JPanel ;
importation javax.swing.JTextField ;
importation javax.swing.JToolBar ;

l'unité centrale de classe prolonge JFrame {
	long serialVersionUID final statique privé = 1581133201499203821L ;

	moduleGBConstraints de GridBagConstraints = nouveau GridBagConstraints () ;

	editColorsDiag d'EditColorsDialog = nouvel EditColorsDialog (ceci) ;

	unité centrale publique (titre de corde) {
		setTitle (titre) ;
		setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) ;

		setLayout (nouveau GridBagLayout ());

		buildMenuLine () ;
		buildButtonLine () ;

		dPanel de DrawingPanel = nouveau DrawingPanel () ;
		dPanel.setBorder (BorderFactory.createLineBorder (Color.black));
		moduleGBConstraints.gridx++ ;
		moduleGBConstraints.gridheight = 1 ;
		moduleGBConstraints.weightx = 0.7 ;
		moduleGBConstraints.weighty = 0 ;
		moduleGBConstraints.gridheight = 6 ;
		ajouter (dPanel, moduleGBConstraints) ;
	}

	buildMenuLine vide privé () {
		mainMenu de JMenu = nouveau JMenu (« dossier ») ;
		menuItem de JMenuItem = nouveau JMenuItem (« sauf ») ;
		Auditeur de MenuListener = nouveau MenuListener () ;
		mainMenu.add (menuItem) ;
		menuItem.addActionListener (auditeur) ;

		menuItem = nouveau JMenuItem (« charge ») ;
		mainMenu.add (menuItem) ;
		menuItem.addActionListener (auditeur) ;

		menuItem = nouveau JMenuItem (« étroit ») ;
		mainMenu.add (menuItem) ;
		menuItem.addActionListener (auditeur) ;

		menuItem = nouveau JMenuItem (« sortie ») ;
		mainMenu.add (menuItem) ;
		menuItem.addActionListener (auditeur) ;

		optionsMenu de JMenu = nouveau JMenu (« options ») ;
		menuItem = nouveau JMenuItem (« éditer les couleurs ») ;
		optionsMenu.add (menuItem) ;
		menuItem.addActionListener (auditeur) ;

		menuItem = nouveau JMenuItem (« au sujet de ») ;
		optionsMenu.add (menuItem) ;
		menuItem.addActionListener (auditeur) ;

		menuLine de JMenuBar = nouveau JMenuBar () ;
		menuLine.add (mainMenu) ;
		menuLine.add (optionsMenu) ;

		setJMenuBar (menuLine) ;
	}

	buildButtonLine vide privé () {
		buttonRow de JToolBar = nouveau JToolBar (« couleurs », 1) ; la VERTICALE de // ne fait pas
		travail de //, using 1
		buttonRow.setLayout (nouveau GridLayout (5, 1, 4, 4)) ;
		Auditeur de ButtonListener = nouveau ButtonListener () ;
		buttonx d'international = 50 ;
		international = 30 buttony ;
		Dimension d = nouvelle dimension (buttonx, buttony) ;

		buttonRow.setPreferredSize (nulle) ;

		Bouton de JButton = nouveau JButton (« jaune ») ;
		button.setPreferredSize (d) ;
		buttonRow.add (bouton) ;
		button.addActionListener (auditeur) ;

		bouton = nouveau JButton (« rouge ») ;

		button.setPreferredSize (d) ;
		buttonRow.add (bouton) ;
		button.addActionListener (auditeur) ;

		bouton = nouveau JButton (« bleu ») ;
		button.setPreferredSize (d) ;
		buttonRow.add (bouton) ;
		button.addActionListener (auditeur) ;

		bouton = nouveau JButton (« orange ») ;
		button.setPreferredSize (d) ;
		buttonRow.add (bouton) ;
		button.addActionListener (auditeur) ;

		bouton = nouveau JButton (« vert ») ;
		button.setPreferredSize (d) ;
		buttonRow.add (bouton) ;
		button.addActionListener (auditeur) ;

		moduleGBConstraints.fill = GridBagConstraints.VERTICAL ;
		moduleGBConstraints.anchor = GridBagConstraints.FIRST_LINE_START ;
		moduleGBConstraints.gridx = 0 ;
		moduleGBConstraints.gridy = 1 ;
		moduleGBConstraints.gridheight = 1 ;
		moduleGBConstraints.weightx = 0.3 ;
		moduleGBConstraints.weighty = 0 ;
		moduleGBConstraints.gridheight = 6 ;

		ajouter (buttonRow, moduleGBConstraints) ;
	}

	la classe privée MenuListener met en application ActionListener {
		vide de public actionPerformed (événement d'ActionEvent) {
			itemName de corde = event.getActionCommand () ;
			System.out.println (« vous avez poussé l'article de menu appelé \ "" + itemName
					+ « \ ». .") ;
			si (== « sortie » d'itemName) {
				System.out.println (« sortant. .") ;
				disposent () ;
				System.exit (0) ;
			} autrement si (le == d'itemName « éditent des couleurs ») {
				owDialog d'editColorsDiag.sh () ;
			}
		}
	}

	la classe privée ButtonListener met en application ActionListener {
		vide de public actionPerformed (événement d'ActionEvent) {
			buttonName de corde = event.getActionCommand () ;
			System.out.println (« vous avez poussé le bouton appelé \ "" + buttonName
					+ « \ ». .") ;
		}
	}

	@SuppressWarnings (« publication périodique »)
	la classe privée DrawingPanel prolonge JPanel {
		DrawingPanel public () {
			ajouter (nouveau JTextField (« fenêtre de schéma »));
			ajouter (nouveau JTextField (« - essai »));
		}
	}
}

@SuppressWarnings (« publication périodique »)
la classe EditColorsDialog prolonge JDialog {
	exitButton de JButton = nouveau JButton (« étroit ») ;
	Auditeur de ButtonListener = nouveau ButtonListener () ;

	EditColorsDialog public (parent de JFrame) {
		superbe (le parent, « éditent des couleurs », vraies) ;
		ajouter (nouveau JLabel (le « carreau pour éditer colore »), BorderLayout.NORTH) ;
		ajouter (nouveau JLabel (), BorderLayout.CENTER) ;
		ajouter (exitButton, BorderLayout.SOUTH) ;
		exitButton.addActionListener (auditeur) ;
		setSize (200, 300) ;
		setResizable (faux) ;
	}

	showDialog vide de public () {
		setVisible (vrai) ;
	}

	la classe privée ButtonListener met en application ActionListener {
		vide de public actionPerformed (événement d'ActionEvent) {
			buttonName de corde = event.getActionCommand () ;
			si (== de buttonName « étroit ») {
				setVisible (faux) ;
			}
		}
	}
}

classe publique Colorizer {
	vide public de charge statique principal (args de corde []) {
		newFrame d'unité centrale = nouvelle unité centrale (« Colorizer ») ;
		newFrame.setVisible (vrai) ;
		newFrame.setSize (300, 400) ;
		newFrame.setResizable (faux) ;
	}
}
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us