Программирование на JAVA
Меню :
Стартовая
Основы программирования
Программирование на JAVA
Программирование на C++
Программирование на Pascal
Задачи по программированию
}
});
addMouseMotionListener(new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { ex=e.getX(); ey=e.getY(); repaintQ;
}
});
addKeyListener(new KeyAdapter() { public void keyTyped(KeyEvent e) { if (e.getKeyChar()==") { clear = true; repaint();
}
}
});
}
public void update(Graphics g) {
g.clearRect(0, 0, gerWidthQ, getHeight()); clear = false; } else {
g.drawLine(lastX, lastY ex, ey);
lastX=ex;
lastY=ey;
}
public static void main(String s[]) { final Frame f = new Framef'Draw"); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { f.dispose();
}
});
f.setSize(400, 300);
final Canvas с = new DrawCanvas(); f.add(c);
f.setVisible(true);
}
}
Класс DrawCanvas и является тем полем, на котором можно рисовать. В его конструкторе инициализируются все необходимые слушатели. В случае прихода события инициализируется перерисовка (метод repaint), логика которой описана в update. Запускаемый метод main инициализирует frame, не забывая про windowClosing.
В результате можно что-нибудь нарисовать:
Апплеты
Перейдем к рассмотрению апплетов (applets) — Java-приложений, которые исполняются в браузере как часть HTML-страницы. Это означает, что такие приложения всегда визуальные. Действительно, класс Applet является наследником AWT-компонента Panel. Сам класс находится в пакете java.applet.
Жизненный цикл апплета
Важным вопросом для понимания работы апплетов является их жизненный цикл. Он описывается четырьмя методами.
init
Этот метод вызывается браузером при конструировании апплета. Зачастую все инициализирующие действия описываются здесь, а не в конструкторе. Это может быть, например, создание AWT-компонент, запуск потоков исполнения, установление сетевых соединений и т.д.
start
Этот метод вызывается после инициализации апплета. Он нужен по следующей причине. Апплет может содержать какие-то динамические части, например, анимацию или бегущую строку. Если пользователь воспользуется какой-нибудь ссылкой и уйдет со страницы с апплетом, бразуер не станет его уничтожать — ведь пользователь может вернуться (нажав в браузере кнопку Back), и он будет ожидать, что апплет сохранит свое состояние. Значит, апплет может оказаться в неактивном состоянии, когда лучше приостановить динамические процессы для экономии системных ресурсов.