
- •§ 1. Основные понятия теории метода сеток
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Глава 11
- •§ 1. Решение интегральных уравнений методом замены интеграла квадратурной суммой
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Глава 7. Искусство расположения
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •§ 2. Решение интегральных уравнений с помощью замены ядра на вырожденное
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •// 2. Поочередно создаются "полосы", на которые
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Глава 8. Вывод вспомогательной информации
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •// 2. Поочередно создаются "полосы", на которые
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Глава 7. Искусство расположения
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •§ 1. Основные понятия теории метода сеток
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Глава 11
- •§ 1. Решение интегральных уравнений методом замены интеграла квадратурной суммой
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Глава 7. Искусство расположения
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •§ 2. Решение интегральных уравнений с помощью замены ядра на вырожденное
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
- •// 2. Поочередно создаются "полосы", на которые
- •Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
Отформатировать текст по стп мгупи. Оформить рисунки и программный кода
Менеджер расположения SpringLayout
В пакете разработки JDK имеется универсальный менеджер расположения, спо- j собный помочь добиться любого, даже самого сложного расположения компонентов. Это менеджер расположения SpringLayout из пакета javax.swing. Однако несмотря на универсальность, действие его весьма специфично и не похоже на действие ни одного га уже знакомых нам менеджеров расположения. С каждым компонентом ассоциируется особый информационный объект Spring, который позволяет задать расстояние (в пикселах) между парой границ различных компонентов. Границ у компонента четыре — это его северная, восточная, западная и южная сторона. Можно задавать расстояние и между границами одного и того же компонента: например, задав расстояние между северной и южной сторонами одного компонента, вы укажете его высоту. По умолчз-
нию все компоненты имеют предпочтительный размер, однако менеджер SpringLayout тщательно учитывает и два остальных размера, не делая компоненты меньше минимального и больше максимального размеров.
На первом этапе работы менеджера SpringLayout все компоненты находятся в начале координат контейнера и имеют предпочтительный размер. Чтобы разместить их по нужным позициям, обычно проводят следующие действия: первый компонент отделяют некоторым расстоянием от границы контейнера, второй отделяют от первого расстоянием между нужными границами, далее размещают третий компонент и т. д. Рассмотрим небольшой пример и увидим все в действии:
// SpringLayoutSample.java // Работа менеджера SpringLayout import javax.swing.*; import java.awt.*;
public class SpringLayoutSample extends JFrame { public SpringLayoutSample() { super("SpringLayoutSample"); setDefaultCloseOperation(EXIT_ON_CLOSE);
// панель с использованием SpringLayout SpringLayout si = new SpringLayout();
JPanel contents = new JPanel(sl);
// добавим пару компонентов JButton buttonl, button2;
contents.add(buttonl = new JButton("Первая")) ; contents.add(button2 = new JButton("Последняя"));
// настроим распорки
si.putConstraint(SpringLayout.WEST, buttonl,
5, SpringLayout.WEST, contents); si.putConstraint(SpringLayout.WEST, button2, 5,
SpringLayout.EAST, buttonl);
// выведем окно на экран setContentPane(contents); setSize(300, 200) ; setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater( new Runnable() { public void run() { new SpringLayoutSample(); ) });
}
}
Мы создаем небольшое окно JFrame, его панелью содержимого является панель JPanel, использующая менеджер расположения SpringLayout. В полученную панель добавляются две
Менеджер SpringLayoutдовольно мощен и гибок, но совершенно не приспособлен для создания интерфейса «вручную». Посмотрите: чтобы расположить компоненты, нужны все ссылки на них, приходится оперировать абсолютными значениями расстояний между ними, и создание не самого сложного расположения из десятка компонентов рискует превратиться в мешанину из вызовов putConstraint(). Поддерживать такой код очень сложно, и это не удивительно: менеджер SpringLayoutпредназначен, прежде всего, для автоматизированного построения интерфейса, а для ручной работы есть более удобные приемы.
Абсолютное расположение
Никто не настаивает на обязательном использовании в контейнере менеджера расположения, вы можете удалить его, вызвав метод setLayout(null). В этом случае вся ответственность за правильное расположение компонентов на экране ложится на ваши плечи: размеры и позиции компонентов придется задавать прямо в программе, вызывая для каждого компонента метод setBounds() с подходящим прямоугольником.
Никогда не используйте абсолютное расположение, иначе рискуете навлечь на себя праведный гнев любого Java-программиста, который увидит ваш код. Все преимущества динамической смены внешнего вида приложения средствами библиотеки Swing, вся легкость перехода на другие платформы — все будет повергнуто в прах в случае абсолютного расположения. Забудьте о нем так, как будто его нет. Если ваше средство автоматизированного построения интерфейса предлагает проектировать интерфейс в абсолютных координатах, а затем безуспешно пытается привести то, что получилось, к расположению, соответствующему какому-либо менеджеру (в результате вам все равно приходится использовать абсолютное расположение), выбросите это средство.
Единственным случаем, в котором приходится применять абсолютное расположение, являются графические приложения, где мы рисуем или располагаем компоненты поверх остального интерфейса, например, логотип компании. Часто для этого применяется компонент JXLayerили прозрачная панель (glass рапе), которые мы обсуждали в главе 6.
Вложенные расположения
В предыдущем разделе, совмещая табличное и последовательное расположения, мы познакомились с примером так называемого вложенного расположения (nested layou:*» основная идея которого очень проста — вы создаете несколько контейнеров с различ
ными менеджерами расположения, а затем добавляете их друг в друга для получения искомого результата. Подбирая соответствующим образом менеджеры расположения, можно добиться абсолютно любого расположения компонентов.
В принципе, обычный пользовательский интерфейс вполне можно создать на основе рассмотренных нами простейших расположений. Но, честно говоря, хотелось бы более гибкого подхода, особенно это касается расположения компонентов по вертикали. И потом, рассмотренные нами до этого расположения очень неаккуратно работают с расстоянием между компонентами — его можно задать один раз, причем сразу для всех входящих в расположение компонентов. Между тем, в качественном интерфейсе расстояние между компонентами играет важнейшую роль, и чаще всего между разными компонентами оно разное. Поэтому создавать большую часть интерфейса с помощью этой идеи мы, конечно, не станем, а рассмотрим универсальные расположения, применяемые при создании пользовательского интерфейса чаще других.
Отформатировать таблицу по СТП МГУПИ
Отформатировать текст по СТП МГУПИ, ввести формулы с помощью инструмента MSEquation
В случае Cj> 0 второй способ симметризации является более предпочтительным, поскольку разброс собственных значений у матрицы системы (11), как правило, меньше, чем у матрицы системы (10).
Заметим, что в случае, когда в квадратуре (6) все веса одинаковы:
Конечно, как и в случае решения произвольных систем линейных алгебраических уравнений, при использовании методов Гаусса или квадратного корня в процессе вычислений может возникнуть операция деления на нуль или переполнение.
Вариант № 6