|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Хотя возможно обойтись без менеджера по расположению, следует использовать менеджера по расположению если вообще возможно. Менеджер по расположению облегчает корректировать к стили зависимые компонентные появления, к различным размерам шрифта, к размеру изменения контейнера, и к различным локалям. Менеджеры по расположению также могут быть снова использованы легко другими контейнерами, так же как другими программами.
GroupLayout менеджер по расположению объединился с инструментом разработчика, чтобы разметить Ваш GUI. Один такой инструмент разработчика является IDE NetBeans. Иначе, если Вы хотите кодировать вручную и не хотите использовать GroupLayout, тогда GridBagLayout рекомендуется как следующий самый гибкий и мощный менеджер по расположению. Если Вы интересуетесь использованием JavaFX, чтобы создать Ваш GUI, см. Работу С Разметками в JavaFX.
Если контейнер содержит компоненты, на размер которых не влияет размер контейнера или шрифтом, стилем, или изменениями языка, то абсолютное расположение могло бы иметь смысл. Настольные области, которые содержат
Другая ситуация, в которой абсолютное расположение могло бы иметь смысл, является ситуацией пользовательского контейнера, который выполняет размер и вычисления позиции, которые определены к контейнеру, и возможно требуют знания специализированного состояния контейнера. Это - ситуация с разделенными областями.
Создание контейнера без менеджера по расположению включает следующие шаги.
setLayout(null).Component class setbounds метод для каждого из дочерних элементов контейнера.Component class repaint метод.Однако, создание контейнеров с абсолютно расположенными контейнерами может вызвать проблемы, если окно, содержащее контейнер, изменяется.
Вот снимок фрейма, область контента которого использует абсолютное расположение.

Нажмите кнопку Launch, чтобы работать, AbsoluteLayoutDemo, используя Сеть Java™ Запускаются (). Альтернативно, чтобы скомпилировать и выполнить пример самостоятельно, консультируйтесь, пример индексируют.
Его код находится в
pane.setLayout(null);
JButton b1 = new JButton("one");
JButton b2 = new JButton("two");
JButton b3 = new JButton("three");
pane.add(b1);
pane.add(b2);
pane.add(b3);
Insets insets = pane.getInsets();
Dimension size = b1.getPreferredSize();
b1.setBounds(25 + insets.left, 5 + insets.top,
size.width, size.height);
size = b2.getPreferredSize();
b2.setBounds(55 + insets.left, 40 + insets.top,
size.width, size.height);
size = b3.getPreferredSize();
b3.setBounds(150 + insets.left, 15 + insets.top,
size.width + 50, size.height + 20);
...//In the main method:
Insets insets = frame.getInsets();
frame.setSize(300 + insets.left + insets.right,
125 + insets.top + insets.bottom);