Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание 1 часть_В1-В34.docx
Скачиваний:
1
Добавлен:
19.09.2019
Размер:
3.05 Mб
Скачать
  1. Отформатировать текст по стп мгупи. Оформить рисунки и программный кода

Блочное расположение BoxLayout

Блочное расположение BoxLayout— прекрасная альтернатива всем остальным менед­жерам расположения. Обладающее большими возможностями расположение BoxLayoutне сложнее BorderLayout.

Менеджер блочного расположения выкладывает компоненты в контейнер блоками: столбиком (по оси Y) или полоской (по оси X), при этом каждый отдельный компонент можно выравнивать по центру, по левому или по правому краям, а также по верху или по низу. Расстояние между компонентами по умолчанию нулевое, но для его задания су­ществуют специальные классы (об этом чуть позже). Как располагаются компоненты, хорошо видно на рис. 7.1

public Boxl() {

super("Boxl — Y"); setSize(400, 200);

setDefaultCloseOperation( EXIT_ON_CLOSE );

// получаемпанельсодержимого Container с = getContentPane();

// устанавливаем блочное расположение по

// оси У (столбиком)

BoxLayout boxy = new BoxLayout(c, BoxLayout.Y_AXIS)

c.setLayout(boxy);

// добавляемкомпоненты c.add( new JButton("Один")) ; c.add( new JButton("Два")); c.add( new JButton("Три")) ;

// выводим окно на экран setVisible(true);

>

static class Box2 extends JFrame { public Box2() {

super("Box2 — X");

//' устанавливаем размер и позицию окна

setSize(400, 200); setLocation(100, 100);

setDefaultCloseOperation( EXIT_ON_CLOSE );

// получаем панель содержимого Container с = getContentPane();

// устанавливаем блочное расположение по

// оси X (полоской)

BoxLayout boxx =

new BoxLayout(c, BoxLayout.X_AXIS);

с.setLayout(boxx);

// добавляемкомпонентыc.add(new JButton("Один")); с.add( new JButton("Два")); c.add( new JButton("Три"));

// выводим окно на экран setVisible(true);

}’

}

public static void main(String[] args) { SwingUtilities.invokeLater(

Вы можете видеть, что конструктор класса BoxLayoutнесколько необычен — ему не­обходимо указать контейнер, в котором он будет функционировать. Ни в одном из рас­смотренных нами прежде менеджеров расположения такого не требовалось. Впрочем, можно не строить блочное расположение вручную, а использовать вспомогательный класс Boxиз пакета javax.swing. В нем определены два статических метода:

public static Box createHorizontalBox()

public static Box createVerticalBox()

Эти методы возвращают экземпляр класса Box, который создан специально для под­держки блочного расположения и унаследован от базового класса Swing JComponent. По­этому объекты Boxвы можете использовать как обычные контейнеры для компонентов, только с заранее установленным блочным расположением. Первый метод возвращает контейнер с горизонтальным блочным расположением, второй — с вертикальным.

Однако контейнер, который создается классом Box, не всегда так же полезен, как обычная панель JPanel. Дело в том, что внешний вид любого компонента Swing, как мы знаем, определяется UI-представителем этого компонента. Это верно и для панелей JPanel, и именно подобным способом некоторые внешние виды приложений добавляют

// BoxStruts.java

// Использование распорок при блочном расположении importjavax.swing.*;

// используем наш новый класс

importcom.porty.swing.BoxLayoutUtils;

public class BoxStruts extends JFrame ( public BoxStruts() { super("BoxStruts"); setSize(250, 200);

setDefaultCloseOperation(EXIT_ON_CLOSE );

// панельсвертикальнымблочнымрасположением JPanel р = BoxLayoutUtils.createVerticalPanel(); p.add(new JButton("Один"));

// создание вертикальной распорки p.add(Box.createVerticalStrut(15)) ;

// новый компонент и распорка другого размера p.add(newJButton("Два")); p.add(Box.createVerticalStrut(5) ) ; p.add(newJButton("Три") ) ;

// панель с горизонтальным блочным расположением JPanel р2 = BoxLayoutUtils.createHorizontalPanel() // распорки можно ставить и перед компонентами р2 . add(Box.createHorizontalStrut(10)); р2.add(newJButton("Один"));

// создание горизонтальной распорки р2.add(Box.createHorizontalStrut(25)); р2.add(newJButton("Два"));

// добавляем панели на север и юг окна add(р, "North"); add(p2, "South");

// выводим окно на экран setVisible(true);

}

public static void main(String[] args) {

SwingUtilities.invokeLater( new Runnable 0 ( public void run() { new BoxStruts(); ) ));

\

  1. Отформатировать таблицу по СТП МГУПИ

  1. Отформатировать текст по СТП МГУПИ, ввести формулы с помощью инструмента MSEquation

Для ее решения могут быть применены стандартные методы решения задач на собственные значения.

Доказать, что максимальное по модулю собственное значение Ai задачи (14) положительно. Доказать, что среди собственных векторов, соответ­ствующих этому собственному значению, имеется вектор, у которого все компоненты неотрицательны.

Вариант № 28