Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Дейтел Х.М. -> "Технологии профаммирования на Java 2" -> 134

Технологии профаммирования на Java 2 - Дейтел Х.М.

Дейтел Х.М. , Дейтел П.Дж., Сантри С.И. Технологии профаммирования на Java 2 — М.: Бином-Пресс, 2003. — 560 c.
Скачать (прямая ссылка): tehprogrammjava22003.pdf
Предыдущая << 1 .. 128 129 130 131 132 133 < 134 > 135 136 137 138 139 140 .. 250 >> Следующая

27 11 создание вида ZoomDrawingView для использования
28 If значения zoomFactor no умолчание
29 drawingView = new ZoomDrawingView( model, zoomFactor ); 30
31 Il добавление вида ZoomDrawingView в панель ContentPane
32 getContentPane(). add ( drawingView ); 33
34 Il изменение размеров ZoomDialog
35 pack () ; 36
37 I/ сделать окно ZoomDialog видимым
38 setVisible( true );
39 } 40
41 Il задание заголовка окна JDialog
42 public void setTitle( String title )
43 {
44 super.setTitle( title + " [Zoom]" );
45 }
46 }
Рис. 5.25. Класс ZoomDialog для отображения масштабируемых видов модели DrawingModel
Практический пример. Создание приложения Java 2D
301
Класс AbstractDrawingAction (рис. 5.26) является абстрактным базовым классом, который расширяет класс Abstract Action, чтобы предоставить более удобный способ для создания компонентов действий Action интерфейса Swing. Конструктор AbstractDrawingAction (строки 16-24) принимает в качестве аргументов имя, значок, описание и мнемонику для действий Action. В строках 27-48 определяются методы set для каждого из свойств действия Action. Метод actionPerformed (строка 52) описан как абстрактный, что требует реализации его в каждом из подклассов.
1 // AbstractDrawingAction.java
2 II AbstractDrawingAction - реализация интерфейса Action, которая
3 Il предоставляет методы set и get для свойств типовых действий.
4 package com.deitel.advjhtpl.drawing;
5
6 Il Набор базовых пакетов Java
7 import java.awt. event. *; 8
9 Il Пакеты расширений Java
10 import javax. swing. * ,-11
12 public abstract class AbstractDrawingAction
13 extends AbstraetAction ( 14
15 Il построение объекта AbstractDrawingAction с заданным
16 Il именем, значком,описанием и клавиатурной мнемоникой
17 public AbstractDrawingAction( String name. Icon icon,
18 String description, Integer mnemonic)
19 {
20 setName( name );
21 setSmalllcon( icon );
22 setShortDescription( description );
23 setMnemonic( mnemonic ) ;.
24 } 25
26 Il задание имени действия Action
27 public void setName( String name )
28 {
29 putValue( Action.NAME, name );
30 } 31
32 Il задание значка для действия
33 public void setSmalllcon( Icon icon )
34 {
35 putValue( Action.SMALL-ICON, icon );
36 ) 37
38 Il задание краткого описания действия
39 public void setShortDescription( String description )
40 {
41 putValue( Action.SHORT_DESCRIPTION, description );
42 } 43
44 11 задание клавиатурной мнемоники для действия
45 public void setMnemonic( Integer mnemonic )
46 {
47 putValue< Action. MNEMONIC-KEy, mnemonic ).;
Г
302 Глава 5
48 }
49
50 /I абстрактный метод actionPerformed, который будет
51 // реализован конкретным подклассом
52 public abstract void actionPerformed( ActionEvent event );
53 }__
Рис. 5.26. Абстрактный базовый класс AbstractDrawingAction для действий Action
Класс Gradientlcon (рис. 5.27) реализует интерфейс Icon и отображает цветовой градиент, меняющийся от startColor (строка 15) до endColor (строка 16). Приложение Deitel Drawing использует объект Gradientlcon для отображения предварительного вида градиента в соответствии с текущими выбранными цветами. Метод paintlcon (строки 62-75) рисует закрашенный прямоугольник с использованием
объекта GradientColor Java 2D и значений (endColor) цветов. начального (startColor) и конечного
1 // Gradientlcon.java. Gradientlcon - реализация класса Icon,
2 // отображающего градиентную заливку размером 16 х 16 пикселов
3 // от начального цвета startColor до конечного цвета endColor.
4 package com.deitel.advjhtpl.drawing; 5
6 Il Набор базовых пакетов Java
7 import java.awt.*; 8
9 Il Пакеты расширений Java
10 import javax.swing.*; 11
12 public class Gradientlcon implements Icon ( 13
14 Il цвета Colors, используемые для градиента
15 private Color startColor;
16 private Color endColor; 17
18 Il Конструктор Gradientlcon
19 public Gradientlcon( Color start, Color end )
20 (
21 setStartColor( start );
22 setEndColor( end );
23 ) 24
25 // задание начального цвета для градиента
26 public void setStartColor( Color start )
27 і
28 startColor = start ,-
29 ) 30
31 I/ получение начального цвета для градиента
32 public Color getStartColor()
33 (
34 return startColor;
35 ) 36
37 Il задание конечного цвета для градиента
38 public void setEndColor( Color end )
39 {
Практический пример. Создание приложения Java 2D
303
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
76 }
endColor = end;
}
// получение конечного цвета для градиента public Color getEndColor()
return endColor;
Il получение ширины значка public int getlconWidth()
return 16;
II получение высоты значка public int getlconHeight()
return 16;
II отображение значка в заданном компоненте public void paintIcon ( Component component, Graphics g, int x, int y)
(
I/ получение объекта Graphics2D Graphics2D g2D = ( Graphics2D ) g;
Il задание GradientPaint
g2D.setPaint ( new GradientPaint( x, y,
Предыдущая << 1 .. 128 129 130 131 132 133 < 134 > 135 136 137 138 139 140 .. 250 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100