Переделаем еще раз программу рисования
Переделаем еще раз программу рисования из листинга 12.4, введя в класс scribble всплывающее меню для выбора цвета рисования и очистки окна и изменив обработку событий мыши. Для простоты уберем строку меню, хотя ее можно было оставить. Результат показан в листинге 13.2, а на рис. 13.3 — вид всплывающего меню в MS Windows.
Листинг 13.2.
Программа рисования с всплывающим меню
import j ava.awt.* ;
import j ava.awt.event.*;
public class PopupMenuScribble extends Frame{
public PopupMenuScribble(String s){ super (s) ;
ScrollPane pane = new ScrollPane();
pane.setSize(300, 300);
add(pane, BorderLayout.CENTER);
Scribble scr = new Scribble(this, 500, 500);
pane.add(scr);
addWindowListener(new WinClose());
pack ();
setVisible(true);
}
class WinClose extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
public static void main(String[] args){
new PopupMenuScribble(" \"Рисовалка\" с всплывающим меню");
}
}
class ScriBble extends Component implements ActionListener{
protected int lastX, lastY, w, h;
protected Color currColor = Color.black;
protected Frame f;
protected PopupMenu c;
public Scribble(Frame frame, int width, int height)!{
f = frame; w = width; h = height;
enableEvents(AWTEvent.MOUSE_EVENT_MASK |
AWTEvent.MOUSEJtoTIONJEVENT_MASK);
с = new PopupMenu ("Цвет") ;
add(c);
Menultera clear = new Menultem("Очистить",
new MenuShortcut(KeyEvent.VK_D));
Menultem red = new Menultem("Красный");
Menultem green = new Menultem("Зеленый");
Menultem blue = new Menultern("Синий");
Menultem black = new Menultem("Черный");
c.add(red); c.add(green); c.add(blue);
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий