Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Пример 2.18.

Читайте также:
  1. V. Примерный образец теста, применяемого для промежуточной аттестации
  2. Web-контейнер, Servlet, JSP. Структура, назначение и пример сервлета или JSP.
  3. А вот чрезмерное употребление алкоголя действительно вызывает гинекомастию. Примерно четверо из 10 хронических алкоголиков имеют это заболевание в той или иной стадии развития.
  4. А. Здравомыслов.Примерно два года тому назад.
  5. Ая основа – Хаджури не видит разницы между нововведенцем, призывающим к своему нововведению, и не призывающим, и пример в этом он взял с Махмуда Хаддада.
  6. Будьте хорошим примером для своих детей
  7. Быть примером
  8. В наших примерах мы ни разу не рассматривали конструкторы классов, поэтому при создании экземпляров наших классов вызывался конструктор класса object.
  9. В приведенном примере нарушение синтезов пространственного гнозиса и обусловливает ряд следствий, что можно представить схематично.
  10. В только что приведенном вами примере с под­брасыванием монеты компьютерное моделирование

 

package FontChooser.java;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import ItemChooser.java; /** * Это подкласс JDialog позволяющий организовать выбор шрифта * любого стиля и размера. Диалог является * модальным и использует метод show(). * При возвращении метода show() вызывается метод * getSelectedFont(). Если пользователь выбирает * "Cancel", то getSelectedFont() возвратит null. **/public class FontChooser extends JDialog { // Эти поля задают свойства компонента String family; // Имя гарнитуры шрифта int style; // Начертание шрифта int size; // Размер шрифта Font selectedFont; // Сам шрифт (Font), которому они соответствуют // Список всех гарнитур шрифтов ОС String[] fontFamilies; // Различные компоненты Swing, используемые в диалоге ItemChooser families, styles, sizes; JTextArea preview; JButton okay, cancel; // The names to appear in the "Style" menu static final String[] styleNames = new String[] { "Plain", "Italic", "Bold", "BoldItalic" }; // Значения, соответствующие различным названиям static final Integer[] styleValues = new Integer[] { new Integer(Font.PLAIN), new Integer(Font.ITALIC), new Integer(Font.BOLD), new Integer(Font.BOLD+Font.ITALIC) }; // Названия размеров, появляющиеся в меню static final String[] sizeNames = new String[] { "8", "10", "12", "14", "18", "20", "24", "28", "32", "40", "48", "56", "64", "72" }; // Принимаемая по умолчанию строка предварительного просмотра static final String defaultPreviewString = "ABCDEFGHIJKLMNOPQRSTUVWXYZ\n" + "abcdefghijklmnopqrstuvwxyz\n" + "1234567890!@#$%^&*()_-=+[]{}<,.>\n" + "Создаем модальное диалоговое окно"; /** Создаем диалог выбора шрифта в заданном окне. */ public FontChooser(Frame owner) { super(owner, "Выбор Font"); // Устанавливаем имя окна диалога // Диалог организуется как модальный. Для организации // немодального диалога, должно активизироваться событие // PropertyChangeEvent setModal(true); // Определим, какие шрифты установлены в ОС GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); fontFamilies = env.getAvailableFontFamilyNames(); // Устанавливаем начальные значения свойств family = fontFamilies[0]; style = Font.PLAIN; size = 18; selectedFont = new Font(family, style, size); // Создаем объекты ItemChooser, позволяющие выбирать шрифты. families = new ItemChooser("Family", fontFamilies, null, 0, ItemChooser.COMBOBOX); styles = new ItemChooser("Style", styleNames, styleValues, 0, ItemChooser.COMBOBOX); sizes = new ItemChooser("Size", sizeNames,null,4,ItemChooser.COMBOBOX); // Регистрируем слушатели, обрабатывающие выбор families.addItemChooserListener(new ItemChooser.Listener() { public void itemChosen(ItemChooser.Event e) { setFontFamily((String)e.getSelectedValue()); } }); styles.addItemChooserListener(new ItemChooser.Listener() { public void itemChosen(ItemChooser.Event e) { setFontStyle(((Integer)e.getSelectedValue()).intValue()); } }); sizes.addItemChooserListener(new ItemChooser.Listener() { public void itemChosen(ItemChooser.Event e) { setFontSize(Integer.parseInt((String)e.getSelectedValue())); } }); // Создаем компоненты для просмотра шрифта. preview = new JTextArea(defaultPreviewString, 5, 40); preview.setFont(selectedFont); // Создаем кнопки закрытия диалога и обработчики для них okay = new JButton("Okay"); cancel = new JButton("Cancel"); okay.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { hide(); } }); cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { selectedFont = null; hide(); } }); // Помещаем компоненты ItemChoosers в компонент Box Box choosersBox = Box.createHorizontalBox(); choosersBox.add(Box.createHorizontalStrut(15)); choosersBox.add(families); choosersBox.add(Box.createHorizontalStrut(15)); choosersBox.add(styles); choosersBox.add(Box.createHorizontalStrut(15)); choosersBox.add(sizes); choosersBox.add(Box.createHorizontalStrut(15)); choosersBox.add(Box.createGlue()); // Помещаем кнопки завершения диалога в другой box Box buttonBox = Box.createHorizontalBox(); buttonBox.add(Box.createGlue()); buttonBox.add(okay); buttonBox.add(Box.createGlue()); buttonBox.add(cancel); buttonBox.add(Box.createGlue()); // Помещаем элементы выбора наверху, кнопки внизу, // а окно просмотра посередине. Container contentPane = getContentPane(); contentPane.add(new JScrollPane(preview), BorderLayout.CENTER); contentPane.add(choosersBox, BorderLayout.NORTH); contentPane.add(buttonBox, BorderLayout.SOUTH); // Размер диалогового окна определяется размером компонентов. pack(); } /** * Этот метод вызывается после show(), чтобы обработать выбор * пользователя. Если выбран "Cancel", то возвращается null **/ public Font getSelectedFont() { return selectedFont; } // Это другие методы опроса свойств public String getFontFamily() { return family; } public int getFontStyle() { return style; } public int getFontSize() { return size; } // Методы установки свойств. // Ни один из этих методов не обновляет свойства компонентов // ItemChooser, как это обычно происходит. public void setFontFamily(String name) { family = name; changeFont(); } public void setFontStyle(int style) { this.style = style; changeFont(); } public void setFontSize(int size) { this.size = size; changeFont(); } public void setSelectedFont(Font font) { selectedFont = font; family = font.getFamily(); style = font.getStyle(); size = font.getSize(); preview.setFont(font); } // Метод вызывается при изменении свойств шрифта. protected void changeFont() { selectedFont = new Font(family, style, size); preview.setFont(selectedFont); } // Предотвращаем превращение диалога в немодальный public boolean isModal() { return true; } /** Внутренний класс демонстрирует использование класса FontChooser */ public static class Demo { public static void main(String[] args) { // Создаем несколько компонентов и диалог FontChooser final JFrame frame = new JFrame("demo"); final JButton button = new JButton("Push Me!"); final FontChooser chooser = new FontChooser(frame); // Обрабатываем нажатие кнопки button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // Показываем диалог chooser.show(); // Получаем выбор пользователя Font font = chooser.getSelectedFont(); // Если не отменено, то устанавливаем шрифт для кнопки if (font!= null) button.setFont(font); } }); // Отображаем демонстрационное окно frame.getContentPane().add(button); frame.setSize(200, 100); frame.show(); } }}

 




Дата добавления: 2015-09-11; просмотров: 64 | Поможем написать вашу работу | Нарушение авторских прав

Практическое занятие № 4 | Практическое занятие № 5 | Практическое занятие № 6 | Практическое занятие № 7 | Пример 2.1. | Пример 2.2. | Глава 2.2. Графические интерфейсы пользователя в Java | Компоненты. | Пример 2.8. | Пример 2.15. |


lektsii.net - Лекции.Нет - 2014-2025 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав