Вопрос : Некоторые проблемы Java с JToolBar, размерами кнопки, JPane, константами etc.

Я добавляю здесь Кодего для Colorizer.java. Оно предполагаем быть практикой на создании GUI. Не будет intenton на делать Кодего для реальной программы краски. В делать эту добившийся успеха своими силами практику, я получил stuck на следующий пунктах:

(-), котор я не управлял получить, что все кнопки был одинаковым размером. Судимые 50x50, а я не уверенн если то будет надлежащий размер. Оно не работал anyway.
(-), котор buttonrow помещено неправильно в центре. Оно предполагаем быть помещенным прямо под ООН menuline верхнее левое corner.
(-), котор drawingpanel в универсальном имеет неправильный размер. Оно должен заполнить вне остальнои window.
(-) Using постоянн ВЕРТИКАЛЬ не кажется, что работает. Я думал я импортировало архивы типа correctly.
(-) когда я буду волочить с JToolBar от универсального, и после этого конец оно, я получает ошибку при слежении:
Exception в резьбе «AWT-EventQueue-0» java.lang.IllegalArgumentException: canno
t добавляет к плану: ограничениями должны быть GridBagConstraint
на
java.awt.GridBagLayout.addLayoutComponent (источника Unknown) на
java.awt. Container.addImpl (неизвестного источника) на java.awt.
Container.add (источника Unknown) на javax.swing.plaf.basic.
BasicToolBarUI$FrameListener.windowClosing (источника Unk
nown) на
java.awt. Window.processWindowEvent (источника Unknown) на
javax.swing.JDialog.processWindowEvent (источника Unknown) на
java.awt. Window.processEvent (источника Unknown) на java.awt.
Component.dispatchEventImpl (неизвестного источника) на java.awt.
Container.dispatchEventImpl (неизвестного источника) на java.awt. Window.dispatchEventImpl (
источника Unknown) на java.awt.
Component.dispatchEvent (источника Unknown) на
java.awt.EventQueue.dispatchEvent (источника Unknown) на
java.awt.EventDispatchThread.pumpOneEventForFilters (источника Unknown) на
java.awt.EventDispatchThread.pumpEventsForFilter (источника Unknown) на
java.awt.EventDispatchThread.pumpEventsForHierarchy (источника Unknown) на
java.awt.EventDispatchThread.pumpEvents (источника Unknown) на
java.awt.EventDispatchThread.pumpEvents (источника Unknown) на

After java.awt.EventDispatchThread.run (источника Unknown), котор JToolBar закрыто, новое одно хлопает вверх где оно предполагаемо быть помещенным от старта (см. описание над).

Hope вы gues можете помочь me.
class= " ясное " >
> " codeSnippet " class=
class= " lineNumbers "
class=
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 javax.swing.* " class= " id= " codeSnippet766229
           
class=

Ответ : Некоторые проблемы Java с JToolBar, размерами кнопки, JPane, константами etc.

Огорченно, здесь Кодий:)
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:
ввоз java.awt.BorderLayout;
ввоз java.awt. Цвет;
ввоз java.awt. Размер;
ввоз java.awt.GridBagConstraints;
ввоз java.awt.GridBagLayout;
ввоз java.awt.GridLayout;
ввоз java.awt.event.ActionEvent;
ввоз java.awt.event.ActionListener;

ввоз javax.swing.BorderFactory;
ввоз javax.swing.JButton;
ввоз javax.swing.JDialog;
ввоз javax.swing.JFrame;
ввоз javax.swing.JLabel;
ввоз javax.swing.JMenu;
ввоз javax.swing.JMenuBar;
ввоз javax.swing.JMenuItem;
ввоз javax.swing.JPanel;
ввоз javax.swing.JTextField;
ввоз javax.swing.JToolBar;

универсальный типа расширяет JFrame {
	приватное статическое окончательное длиннее serialVersionUID = 1581133201499203821L;

	moduleGBConstraints GridBagConstraints = новое GridBagConstraints ();

	editColorsDiag EditColorsDialog = новое EditColorsDialog (это);

	общественный универсальный (название шнура) {
		setTitle (название);
		setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

		setLayout (новое GridBagLayout ());

		buildMenuLine ();
		buildButtonLine ();

		dPanel DrawingPanel = новое DrawingPanel ();
		dPanel.setBorder (BorderFactory.createLineBorder (Color.black));
		moduleGBConstraints.gridx++;
		moduleGBConstraints.gridheight = 1;
		moduleGBConstraints.weightx = 0.7;
		moduleGBConstraints.weighty = 0;
		moduleGBConstraints.gridheight = 6;
		добавьте (dPanel, moduleGBConstraints);
	}

	приватное пустое buildMenuLine () {
		mainMenu JMenu = новое JMenu («архив»);
		menuItem JMenuItem = новое JMenuItem («за исключением»);
		Оператор на приеме MenuListener = новое MenuListener ();
		mainMenu.add (menuItem);
		menuItem.addActionListener (оператор на приеме);

		menuItem = новое JMenuItem («нагрузка»);
		mainMenu.add (menuItem);
		menuItem.addActionListener (оператор на приеме);

		menuItem = новое JMenuItem («близко»);
		mainMenu.add (menuItem);
		menuItem.addActionListener (оператор на приеме);

		menuItem = новое JMenuItem («выход»);
		mainMenu.add (menuItem);
		menuItem.addActionListener (оператор на приеме);

		optionsMenu JMenu = новое JMenu («варианты»);
		menuItem = новое JMenuItem («редактируйте цветы»);
		optionsMenu.add (menuItem);
		menuItem.addActionListener (оператор на приеме);

		menuItem = новое JMenuItem («о»);
		optionsMenu.add (menuItem);
		menuItem.addActionListener (оператор на приеме);

		menuLine JMenuBar = новое JMenuBar ();
		menuLine.add (mainMenu);
		menuLine.add (optionsMenu);

		setJMenuBar (menuLine);
	}

	приватное пустое buildButtonLine () {
		buttonRow JToolBar = новое JToolBar («цветы», 1); ВЕРТИКАЛЬ // не делает
		работа //, using 1
		buttonRow.setLayout (новое GridLayout (5, 1, 4, 4));
		Оператор на приеме ButtonListener = новое ButtonListener ();
		buttonx int = 50;
		int buttony = 30;
		Размер d = новый размер (buttonx, buttony);

		buttonRow.setPreferredSize (null);

		Кнопка JButton = новое JButton («желтый цвет»);
		button.setPreferredSize (d);
		buttonRow.add (кнопка);
		button.addActionListener (оператор на приеме);

		кнопка = новое JButton («красный цвет»);

		button.setPreferredSize (d);
		buttonRow.add (кнопка);
		button.addActionListener (оператор на приеме);

		кнопка = новое JButton («синь»);
		button.setPreferredSize (d);
		buttonRow.add (кнопка);
		button.addActionListener (оператор на приеме);

		кнопка = новое JButton («Орандж»);
		button.setPreferredSize (d);
		buttonRow.add (кнопка);
		button.addActionListener (оператор на приеме);

		кнопка = новое JButton («зеленый цвет»);
		button.setPreferredSize (d);
		buttonRow.add (кнопка);
		button.addActionListener (оператор на приеме);

		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;

		добавьте (buttonRow, moduleGBConstraints);
	}

	приватный тип MenuListener снабжает ActionListener {
		свободное пространство публики actionPerformed (случай ActionEvent) {
			itemName шнура = event.getActionCommand ();
			System.out.println («вы нажали деталь меню названный \ "" + itemName
					+ «\». .");
			если (== «выход» itemName) {, то
				System.out.println («выходящ. .");
				размещайте ();
				System.exit (0);
			} еще если (== itemName «редактирует цветы») {, то
				owDialog editColorsDiag.sh ();
			}
		}
	}

	приватный тип ButtonListener снабжает ActionListener {
		свободное пространство публики actionPerformed (случай ActionEvent) {
			buttonName шнура = event.getActionCommand ();
			System.out.println («вы нажали кнопку названную \ "" + buttonName
					+ «\». .");
		}
	}

	@SuppressWarnings («серия»)
	приватный тип DrawingPanel расширяет JPanel {
		общественное DrawingPanel () {
			добавьте (новое JTextField («окно чертежа»));
			добавьте (новое JTextField («- испытание»));
		}
	}
}

@SuppressWarnings («серия»)
тип EditColorsDialog расширяет JDialog {
	exitButton JButton = новое JButton («близко»);
	Оператор на приеме ButtonListener = новое ButtonListener ();

	общественное EditColorsDialog (родитель JFrame) {
		супер (родитель, «редактирует цветы», поистине);
		добавьте (новое JLabel («форточка для редактировать красит»), BorderLayout.NORTH);
		добавьте (новое JLabel (), BorderLayout.CENTER);
		добавьте (exitButton, BorderLayout.SOUTH);
		exitButton.addActionListener (оператор на приеме);
		setSize (200, 300);
		setResizable (ложно);
	}

	showDialog публики пустое () {
		setVisible (поистине);
	}

	приватный тип ButtonListener снабжает ActionListener {
		свободное пространство публики actionPerformed (случай ActionEvent) {
			buttonName шнура = event.getActionCommand ();
			если (== buttonName «близкое») {, то
				setVisible (ложно);
			}
		}
	}
}

общественный тип Colorizer {
	общественное свободное пространство static главным образом (args шнура []) {
		newFrame универсального = новый универсальный («Colorizer»);
		newFrame.setVisible (поистине);
		newFrame.setSize (300, 400);
		newFrame.setResizable (ложное);
	}
}
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us