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

Глава 8. Вывод вспомогательной информации

Компоненты пользовательского интерфейса программы можно условно разделить на две части: одни компоненты применяются для получения информации от пользо­вателя и для вывода данных программы, а другие служат для облегчения работы поль­зователя, обеспечивая его вспомогательной информацией об интерфейсе программы и задачах, которые он решает. В этой главе мы будем говорить именно о компонентах, позволяющих пользователю получать вспомогательную информацию. Они настолько удобны и так упрощают ознакомление пользователя с интерфейсом, что уже почти не­возможно представить себе программы без них.

В Swing к компонентам, обеспечивающим пользователя информацией об интерфей­се и его задачах, прежде всего относится надпись JLabel, поддерживающая язык раз­метки HTML и позволяющая вывести любое сочетание значков и текста. С помощью компонента JLabel можно показать пользователю все что угодно, написав лишь несколь­ко строк кода. Далее, для вывода краткой информации о любом элементе интерфейса в нужный момент времени используются всплывающие подсказки JToolTip, обладающие в Swing уникальными возможностями, благодарявсе той же поддержке HTML. Немно­гие библиотеки пользовательских интерфейсов способны предоставить такие возмож­ности без специальных усилий с вашей стороны. Наконец, для визуальной организации интерфейса и придания ему законченного вида удобно применять рамки. Все эти компо­ненты мы и рассмотрим в данной главе.

Надписи JLabel

Компонент-надпись JLabel используется в Swing для вывода разнообразной информа­ции, чаще всего состоящей из сочетания текста и значков, позволяя сообщить пользова­телю все, что вы захотите. Надо сказать, что надпись JLabel встречается в Swing букваль­но на каждом шагу: ее применяют для вывода вспомогательного текста в диалоговых окнах, для рисования значков и рисунков, и все сложные компоненты Swing, такие как деревья и таблицы, используют экземпляр надписи для прорисовки своих элементов: листьев деревьев и ячеек таблиц. Это настоящая «рабочая лошадка» библиотеки. Так что хорошее знание возможностей надписи JLabel в дальнейшем еще не раз позволит вам эффективно прорисовывать разнообразную информацию. Очень часто вместо соз­дания собственного компонента со своей процедурой прорисовки проще использовать правильно настроенную надпись JLabel.

Начнем мы с изучения возможностей надписи JLabel по расположению своего со­держимого (текста и значков) относительно друг друга. Здесь у вашей фантазии нет ни­каких ограничений, вы сможете поместить текст и значки совершенно произвольным образом. Рассмотрим пример:

'// Labels, java

// Настройка содержимого надписей

importjava.awt.*;

import javax.swing.*;

public class Labels extends JFrame implements SwingConstants { public Labels() {

super("Labels");

// при закрытии окна заканчиваем работу setDefaultCloseOperation(EXIT_ON_CLOSE);

// самая простая надпись JPanel contents = new JPanel();

JLabel 11 = new JLabelC'Bauie имя:");

JTextField name = new JTextField(20); contents.add(11); contents.add(name);

// надпись со значком

JLabel 12 = new JLabel(new Imagelcon("monkey.gif")); adjustLabel(12);

  1. setHorizontalAlignment(LEFT); contents.add(12);

// надпись с нестандартным выравниванием JLabel 13 = newJLabel("Текст и значок", newImagelcon("bulb.gif"), RIGHT); adjustLabel(13);

  1. setVerticalTextPosition(BOTTOM);

13.setHorizontalTextPosition(LEFT); contents.add(13);

II вывод окна на экран setContentPane(contents); setSize (320, 300); setVisible(true);

}

// метод производит специальную настройку надписи privatevoidadjustLabel(JLabel 1) {

1.setOpaque(true);

1.setBackground(Color.white);

1.setPreferredSize(new Dimension(250, 100));

}

public static void main(String[] args) {

SwingUtilities.invokeLater( new Runnable() { public void run() { new Labels(); ) });

}

}

Надпись JLabelпозволяет вывести на экран текст, значок, или оба элемента вместе. Текст и/или значок чаще всего задаются в конструкторе надписи, у которого имеются пять перегруженных версий на все случаи жизни, но можно также задать или изменить текст или значок потом, после создания объекта, манипулируя свойствами iconи textс по­мощью соответствующих методов get/set(это CBottcrBaJavaBeans). Вы также можете изме­нить шрифт вывода текста, используя метод setFont() (в примере мы этого не делаем, а по молчанию применяется шрифт, предоставленный менеджером внешнего вида). В нашем примере мы создаем окно, в панель содержимого которого добавляем несколько надписей. Первая надпись — самый простой и наиболее распространенный вариант: просто некий необходимый пользователю текст выводится на экран. Рядом с ней было специально до­бавлено текстовое поле, и картина становится полной: надпись описывает, для чего пред­назначен другой компонент. Чаще всего так она и используется. Далее мы добавляем более ножные варианты надписей JLabel, одну со значком и вторую и со значком, и с текстом.

Вы видите, что для этих надписей вызывается вспомогательный метод adjustLabel(), по­зволяющий им, во-первых, быть непрозрачными (свойство opaqueустанавливается в true), что помогает определить, какое пространство занимает надпись на экране и использо- ъггь нестандартный цвет фона, а, во-вторых, этот метод меняет их размер на заведомо больший, чем необходимо (только так мы сможем оценить изменения в выравнивании). _1ля того чтобы было видно, какую часть экрана занимает надпись, ее фон сделан белым ггандартная надпись обычно не выделяется в приложении цветом, ее роль сводится к вы­золу информации). Для загрузки значков используется вспомогательный класс Imagelcon, £::торый мы вскоре обсудим подробнее, пока же достаточно того, что ему можно указать -^звание файла с изображением. Кроме того, что мы с помощью надписей выводим текст

  • значки на экран, мы меняем их выравнивание относительно границ надписи и относи- тсльно друг друга. Для этого используются свойства, перечисленные в табл. 8.1.

Однако стоит помнить, что если положение текста относительно значка всегда актуально, то нестандартное расположение содержимого будет заметно, только когда надпись займет больше места, чем ей нужно, что в случае использования менедже­ра расположения случается редко.

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

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

двух различных решений (решения, отличающиеся на множестве меры нуль, считаются совпадающими).

Таким образом, возможна следующая ситуация. Задача (1) может иметь не более одного решения, однако при этом решение существует лишь

Задача 6. Рассмотреть случай решения уравнения (1) описанным выше методом, когда имеется бесконечное число Хп,отличных от нуля, и бес­конечное число Ап, равных нулю.

При изучении многих задач, в частности в задачах интерпретации результатов наблюдений, или, как говорят, в задачах их обработки, ча­сто возникает следующая ситуация. Имеется некоторая функция у(х): мы

Вариант № 15