Fråga : Några Java problem med JToolBar, knäppas storleksanpassar, JPane, konstanter Etc.

Jag tillfogar här kodifiera för Colorizer.java. Den är förment att vara en öva på inställning - upp en GUI. Det finns inte någon intenton på danande kodifierar för ett verkligt målar program. I att göra, detta self-made övar, mig fick fastnat på pekar efter:

(-) som jag inte klarade av för att få alla, knäppas för att vara samma storleksanpassar. Tried 50x50, men I-förmiddagen, om det är det korrekt, storleksanpassar inte sure. Det fungerade inte anyway.
(-) som buttonrowen förläggas fel i centrera. Det är förment att vara den förlade raksträckan under menulinen un bästa den lämnade corner. (-) som drawingpanelen i värddatoren har felt att storleksanpassa. Det bör fylla ut vila av window. (-) Using den konstant LODLINJEN verkar inte för att fungera. Jag tänkte att jag hade importerat klassificeraarkiven correctly.
(-) när jag släpar av JToolBaren från värddatoren, och därefter nära den, mig får efter felet:
Exception i tråden ”AWT-EventQueue-0” java.lang.IllegalArgumentException: canno
t tillfogar till orienteringen: tvång måste vara en GridBagConstraint

för java.awt.GridBagLayout.addLayoutComponent (den Unknown källan) på
för java.awt. Container.addImpl (okänd källa) på java.awt.
för Container.add (Unknown källa) på javax.swing.plaf.basic. BasicToolBarUI$FrameListener.windowClosing (källa för Unk
nown)

för java.awt. Window.processWindowEvent (den Unknown källan) på
för javax.swing.JDialog.processWindowEvent (den Unknown källan) på
för java.awt. Window.processEvent (den Unknown källan) på java.awt.
för Component.dispatchEventImpl (okänd källa) på java.awt.
för Container.dispatchEventImpl (okänd källa) på java.awt. Window.dispatchEventImpl (
för Unknown källa) på java.awt.
för Component.dispatchEvent (den Unknown källan) på
för java.awt.EventQueue.dispatchEvent (den Unknown källan) på
för java.awt.EventDispatchThread.pumpOneEventForFilters (den Unknown källan) på
för java.awt.EventDispatchThread.pumpEventsForFilter (den Unknown källan) på
för java.awt.EventDispatchThread.pumpEventsForHierarchy (den Unknown källan) på
för java.awt.EventDispatchThread.pumpEvents (den Unknown källan) på
för java.awt.EventDispatchThread.pumpEvents (den Unknown källan) på

After för java.awt.EventDispatchThread.run (den Unknown källan) som JToolBaren är stängd, ny, poppar upp var den är förment att förläggas från början (se beskrivningen ovanför).

Hope du gues kan hjälpa me.
> för
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:
" codeBody " " >import javax.swing.* för class= " för
" klar "

Svar : Några Java problem med JToolBar, knäppas storleksanpassar, JPane, konstanter Etc.

Ledsen är här kodifiera:),
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:
import java.awt.BorderLayout;
import java.awt. Färga;
import java.awt. Dimensionera;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

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

klassificera värddatoren fördjupa JFrame {
	lång serialVersionUID för privat statisk elektricitetfinal = 1581133201499203821L;

	GridBagConstraints moduleGBConstraints = nya GridBagConstraints ();

	EditColorsDialog editColorsDiag = nya EditColorsDialog (denna);

	offentlig värddator (stränga titeln) {
		setTitle (titel);
		setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

		setLayout (nya GridBagLayout ());

		buildMenuLine ();
		buildButtonLine ();

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

	privat utan laga kraft buildMenuLine () {
		JMenu mainMenu = nya JMenu (”spara”);
		JMenuItem menuItem = nya JMenuItem (”räddning”);
		MenuListener lyssnare = nya MenuListener ();
		mainMenu.add (menuItem);
		menuItem.addActionListener (lyssnare);

		menuItem = nya JMenuItem (”ladda”);
		mainMenu.add (menuItem);
		menuItem.addActionListener (lyssnare);

		menuItem = nya JMenuItem (”nära”);
		mainMenu.add (menuItem);
		menuItem.addActionListener (lyssnare);

		menuItem = nya JMenuItem (”gå ut”);
		mainMenu.add (menuItem);
		menuItem.addActionListener (lyssnare);

		JMenu optionsMenu = nya JMenu (”alternativ”);
		menuItem = nya JMenuItem (”redigera färgar”);
		optionsMenu.add (menuItem);
		menuItem.addActionListener (lyssnare);

		menuItem = nya JMenuItem (”om”);
		optionsMenu.add (menuItem);
		menuItem.addActionListener (lyssnare);

		JMenuBar menuLine = nya JMenuBar ();
		menuLine.add (mainMenu);
		menuLine.add (optionsMenu);

		setJMenuBar (menuLine);
	}

	privat utan laga kraft buildButtonLine () {
		JToolBar buttonRow = nya JToolBar (”färgar”, 1); Den // LODLINJEN gör inte
		// arbete, using 1
		buttonRow.setLayout (nya GridLayout (5, 1, 4, 4));
		ButtonListener lyssnare = nya ButtonListener ();
		int-buttonx = 50;
		int buttony = 30;
		Dimensionera D = nytt dimensionerar (buttonx som, är buttony);

		(ogiltig) buttonRow.setPreferredSize;

		JButton knäppas = nya JButton (”guling”);
		button.setPreferredSize (D);
		buttonRow.add (knäppas);
		button.addActionListener (lyssnare);

		knäppas = nya JButton (”rött”);

		button.setPreferredSize (D);
		buttonRow.add (knäppas);
		button.addActionListener (lyssnare);

		knäppas = nya JButton (”blått”);
		button.setPreferredSize (D);
		buttonRow.add (knäppas);
		button.addActionListener (lyssnare);

		knäppas = nya JButton (”apelsin”);
		button.setPreferredSize (D);
		buttonRow.add (knäppas);
		button.addActionListener (lyssnare);

		knäppas = nya JButton (”gräsplan”);
		button.setPreferredSize (D);
		buttonRow.add (knäppas);
		button.addActionListener (lyssnare);

		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;

		tillfoga (buttonRow, moduleGBConstraints);
	}

	privat klassificera MenuListener genomför ActionListener {
		offentligt annullera actionPerformed (den ActionEvent händelsen) {
			Stränga itemName = event.getActionCommand ();
			System.out.println (”du sköt det namngav \ "" + itemName menyobjektet
					+ ”\”. ”);
			om (itemName== ”går ut”) {
				System.out.println (”gå ut. ”);
				kassera ();
				System.exit (0);
			} annars, om (itemName== ”redigerar färgar”) {
				editColorsDiag.sh owDialog ();
			}
		}
	}

	privat klassificera ButtonListener genomför ActionListener {
		offentligt annullera actionPerformed (den ActionEvent händelsen) {
			Stränga buttonName = event.getActionCommand ();
			System.out.println (”du sköt den namngav \ "" + buttonName knäppas
					+ ”\”. ”);
		}
	}

	@SuppressWarnings (”följetong”)
	privat klassificera DrawingPanel fördjupa JPanel {
		offentliga DrawingPanel () {
			tillfoga (nya JTextField (”det dra fönstret”));
			tillfoga (nya JTextField (”- testa”));
		}
	}
}

@SuppressWarnings (”följetong”)
klassificera EditColorsDialog fördjupa JDialog {
	JButton exitButton = nya JButton (”nära”);
	ButtonListener lyssnare = nya ButtonListener ();

	offentliga EditColorsDialog (den JFrame föräldern) {
		toppet (föräldern, ”redigerar färgar”, true);
		tillfoga (nya JLabel (”förse med rutor för att redigera färgar”), BorderLayout.NORTH);
		tillfoga (nya JLabel (), BorderLayout.CENTER);
		tillfoga (exitButton, BorderLayout.SOUTH);
		exitButton.addActionListener (lyssnare);
		setSize (200, 300);
		setResizable (falskt);
	}

	offentlig utan laga kraft showDialog () {
		setVisible (riktigt);
	}

	privat klassificera ButtonListener genomför ActionListener {
		offentligt annullera actionPerformed (den ActionEvent händelsen) {
			Stränga buttonName = event.getActionCommand ();
			om (”nära” buttonName==) {
				setVisible (falskt);
			}
		}
	}
}

allmänhet klassificerar Colorizer {
	utan laga kraft huvudsakligt för offentlig statisk elektricitet (stränga [] args) {
		VärddatornewFrame = ny värddator (”Colorizer”);
		(riktig) newFrame.setVisible;
		newFrame.setSize (300, 400);
		(falsk) newFrame.setResizable;
	}
}
Andra lösningar  
 
programming4us programming4us