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

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

Упражнения

Читайте также:
  1. Артикуляционные упражнения для растягивания уздечки языка
  2. Базовые упражнения на меткость
  3. Базовые упражнения на меткость
  4. БЕЗОПАСНЫЕ И УДОБНЫЕ УПРАЖНЕНИЯ ВО ВРЕМЯ ГРУДНОГО ВСКАРМЛИВАНИЯ
  5. Благочестивые упражнения во время молитвы и расслабления духовного.
  6. Глава 18. УПРАЖНЕНИЯ ПО ПОВЫШЕНИЮ УВЕРЕННОСТИ В СЕБЕ
  7. Дыхательные Упражнения Вазы
  8. Задачи и упражнения
  9. Занятие 10. Одноатомные спирты. Тест по теме «Одноатомные спирты». Задачи и упражнения на одноатомные спирты.
  10. Звуковые упражнения

Решения для выбранных упражнений могут быть найдены в электронной документации The Thinking in Java Annotated Solution Guide, доступной за малую плату на www.BruceEckel.com.

  1. Создайте апплет/приложение, используя класс Console, как показано в этой главе. Включите текстовое поле и три кнопки. Когда вы нажимаете каждую кнопку, сделайте, чтобы разный текст появлялся в текстовом поле.
  2. Добавьте checkBox-элемент в апплет, созданный в Упражнении 1, перехватите событие, и вставляйте разный текст в текстовое поле.
  3. Создайте апплет/приложение, используя Console. В HTML документации с java.sun.com, найдите JPasswordField и добавьте его в программу. Если пользователь печатает правильный пароль, используйте Joptionpane для выдачи пользователю информации об успехе.
  4. Создайте апплет/приложение, используя Console, и добавьте все компоненты, имеющие метод addActionListener(). (Найдите их в HTML документации с java.sun.com. Совет: используйте индекс.) Захватите события и отобразите соответствующее сообщение для каждого из них в текстовом поле.
  5. Создайте апплет/приложение, используя Console, с элементами JButton и JTextField. Напишите и присоедините соответствующие слушатели, чтобы если кнопка имела фокус, символы, напечатанные на ней, появлялись в JTextField.
  6. Создайте апплет/приложение, используя Console. Добавьте в главный фрейм все компоненты, описанные в этой главе, включая меню и диалоги.
  7. Измените TextFields.java так, чтобы символы в t2 сохраняли свой регистр, в котором они были набраны, вместо принудительного автоматического перевода в верхний регистр.
  8. Найдите и загрузите один или несколько бесплатных сред разработки GUI, доступных в Internet, или купите коммерческие продукты. Исследуйте, что необходимо для добавления BangBean в эту среду и сделайте это.
  9. Добавьте Frog.class в файл манифеста, как показано в этой главе, и запустите jar для создания JAR файла, содержащего и Frog и BangBean. Теперь либо загрузите и установите BDK от Sun, или используйте свой собственный компонент-ориентированный построитель программ, и добавьте JAR файл в свою среду, так, чтобы вы могли проверить оба компонента (Beans).
  10. Создайте свой собственный JavaBean, называемый Valve, который содержит два свойства: boolean, называемый “on”, и int, называемый “level”. Создайте файл манифеста, используйте jar для упаковки вашего компонента, затем загрузите его в beanbox или в компонент-ориентированную среду разработки, чтобы вы могли проверить его.
  11. Измените MessageBoxes.java так, чтобы он имел индивидуальный ActionListener для каждой кнопки (вместо проверки текста кнопок).
  12. Отследите новый тип события в TrackEvent.java, добавив новый код обработчика события. Вам нужно будет исследовать ваш собственный тип события, который вы хотите отслеживать.
  13. Наследуйте новый тип кнопки от JButton. Каждый раз при нажатии этой кнопки она должна менять свой цвет в случайном порядке. Смотрите ColorBoxes.java в Главе 14 о том, как генерировать случайное значение цвета.
  14. Измените TextPane.java, чтобы она использовала JTextArea вместо JTextPane.
  15. Измените Menus.java, чтобы она использовала радио кнопки вместо checkBox-элементов в меню.
  16. Упростите List.java, передав массив в конструктор и подавите динамическое добавление элементов в список.
  17. Измените SineWave.java, включив SineDraw в JavaBean, добавив методы “получения” и “установки”.
  18. Помните игрушку “рисующий ящик ” с двумя кнопками, одна из которых управляла вертикальным перемещением точки рисования, а другая управляла горизонтальным перемещением? Создайте такую, используя SineWave.java для начала. Вместо кнопок используйте слайдеры. Добавьте кнопку, которая будет стирать весь рисунок.
  19. Создайте “асимптотический индикатор прогресса”, который становится все медленнее и медленнее при приближении к финальной точке. Добавьте случайное странное поведение, чтобы это выглядело как начало ускорения.
  20. Измените Progress.java так, чтобы она не использовала распределенные модели, а вместо этого использовала слушатели для соединения слайдера и полосы прогресса.
  21. Следуйте инструкциям из раздела “Упаковка апплетов в JAR файл” для помещения TicTacToe.java в JAR файл. Создайте HTML страницу для (грязной, сложной) версии ярлыка апплета, и измените его для использования ярлыка архива, чтобы он использовал JAR файл. (Совет: начните с HTML страницы для TicTacToe.java которая идет вместе с исходным кодом этой книги.)
  22. Создайте апплет/приложение, используя Console. Оно должно иметь три слайдера, каждый из которых имеет красное, зеленое и синее значение для java.awt.Color. Оставшаяся часть формы должна быть использована для JPanel, которая отображает цвет, определяемый этими тремя слайдерами. Также включите не редактируемое текстовое поле, которое показывает текущие RGB значения.
  23. В HTML документации для javax.swing найдите JColorChooser. Напишите программу с кнопкой, которая показывает диалог выбора цвета.
  24. Почти все компоненты Swing наследованы от Component, который имеет метод setCursor(). Найдите это в HTML документации для Java. Создайте апплет и измените курсор на один из списка курсоров, имеющихся в классе Cursor.
  25. Начав с ShowAddListeners.java, создайте программу с полной функциональностью ShowMethodsClean.java из Главы 12.

[61] Вариации этого называются “принципом наименьшего удивления”, который особенно подчеркивает: “не удивляйте пользователя”.

[62] Это пример шаблона разработки, называемый метод шаблонов.

[63] Здесь принимается во внимание то, что читатель хорошо знаком с основами HTML. Это не трудно понять и есть много книг и ресурсов на эту тему.

[64] Эта страница —обычно, раздел ‘clsid’ — выглядит хорошо работающей и с JDK1.2.2, и с JDK1.3 rc-1. Однако вы можете обнаружить изменение ярлыка когда-нибудь в будущем. Более детально смотрите java.sun.com.

[65] По моему мнению. И после того, как вы выучите Swing, вы не захотите тратить ваше время на подготовительный материал.

[66] Как описано ранее, “Frame” был уже введен в AWT, так что Swing использует JFrame.

[67] Это будет иметь смысл после того, как вы прочтете продолжение этой главы. Прежде всего, сделайте ссылку на JApplet статическим членом класса member (вместо локальной переменной в main()), а затем вызовите applet.stop() и applet.destroy() внутри WindowAdapter.windowClosing(), прежде, чем вы вызовите System.exit().

[68] Не существует MouseMotionEvent, несмотря на то, что кажется, что оно должно быть. Щелчки и движение комбинируются в MouseEvent, так что это второе появление MouseEvent в таблице не является ошибкой.

[69] В Java 1.0/1.1 вы не могли выполнять полезное наследование от объекта кнопки. Это был один из многочисленных фундаментальных недостатков проекта.

 

 

 

 




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

Окна диалогов | Файловые диалоги | Деревья | Таблицы | Буфер обмена | Динамическое построение событий | Отделение бизнес логики от логики пользовательского интерфейса | Каноническая форма | Что такое компонент (Bean)? | Извлечение BeanInfo с помощью Инспектора |


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