Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
№5 зертханалық жұмыс.
Апплеттер
1. Жұмыс мақсаты
Қарапайым апплет жасауды үйрену. Апплетті іске қосатын HTML файлдарды жазуды үйрену. Апплет және қосымша арасындағы айырмашылықты білу.
2. Алдын-ала қаралатын материалдар
1. 10 дәріс
2. Х.Дейтел Как программировать на С. Введение в С++ и Java, глава 24, стр.815-849
3. Негізгі әдістердің қысқаша сипаттамасы
Графикалық интерфейстер, сызбалар және суреттерді апплет ішінде де бейнелеуге болады. Апплет Internet серверлерінде орналасатын Java тілінің класстары. Апплеттер клиенттерге желі арқылы жеткізіліп браузер көмегімен, WWW құжатының бір бөлігі ретінде ашылад.
Web-парақта апплеттің жасалуын және орындалуын басқаратын Applet класының бірнеше тәсілі бар. Апплетке main() тәсілі қажет емес, іске қосу кодтары init() тәсілінде орналасады. Жүктелетін init() тәсілі апплетті инициализациялау үшін автоматты түрде шақырылады.
start() тәсілі - апплет Web-броузер өрісіне әр ауысқан сайын шақырылады.
stop() тәсілі - Web-броузер өрісіне әр шыққан сайын шақырылады.
destroy() тәсілі апплет парақтан шыққанда, ресурстарды босату үшін шақырылады. Бұл тәсілдерден басқа автоматты түрде жүктелетін Component класының paint() тәсілі бар. paint() тәсілі тікелей шақырылмайды, тек басқа тәсіл, мысалы repaint() тәсілі арқылы шақырылады.
/* # 1: түсті мәтін жолдарын шығару: ColorConstants.java */
import java.applet.*;
import java.awt.*;
public class ColorConstants extends Applet {
public void init(){ }
public void paint(Graphics g) {
g.setColor(Color.yellow);
g.drawString("<Yellow>", 5, 30);// желтым цветом
g.setColor(Color.blue);
g.drawString("<Blue>", 5, 60);//синим цветом
g.setColor(Color.green);
g.drawString("<Green>", 5, 90);//зеленым цветом
}
}
Апплет тәсілдері Graphics класының объектілерін параметр ретінде алады және олармен бірге ағымдағы түсті, қаріпті, курсор орнын да алады. Контекст әдетте update() немесе paint() тәсілдерінің анықталады.
Graphics класының кейбір тәсілдері:
drawLine(int x1, int y1, int x2, int y2) кесінді сызады;
drawRect(int x, int y, int width, int height) және fillRect(int x, int y, int width, int height) - тіктөртбұрыш және іші боялған тіктөртбұрыш сызады;
draw3DRect(int x, int y, int width, int height, boolean raised) - үш өлшемді тіктөртбұрыш сызады;
drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) - төбелері дөңгелектелген тіктөртбұрыш сызады;
drawOval(int x, int y, int width, int height) - дөңгелек (овал) сызады;
drawPolygon(int[] xPoints, int[] yPoints, int nPoints) - x және y координаталары массив арқылы берілген полигон (көпбұрыш) сызады;
drawPolygon(Polygon p) - Polygon объекті арқылы берілген полигон (көпбұрыш) сызады;
drawPolyline(int[] xPoints, int[] yPoints, int nPoints) - x және y координаталары массив арқылы берілген кесінділер тізбегін сызады;
drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) - шеңбер доғасын сызады;
drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer) - сурет енгізеді;
drawString(String str, int x, int y) - мәтін жолын салады;
setColor(Color c), getColor() - ағымдағы түсты анықтайды және қайтарады;
getFont() - ағымдағы қаріпті қайтарады;
setFont(Font font) - көрсетілген қаріпті орнатады.
// # 2 мысал: полигонды бейнелеу: DrawPoly.java
import java.applet.*;
import java.awt.*;
public class DrawPoly extends Applet {
int poly1_x[] = { 40, 80, 0, 40};
int poly1_y[] = { 5, 45, 45, 5};
int poly2_x[] = { 140, 180, 180, 140, 100, 100, 140};
int poly2_y[] = { 5, 25, 45, 65, 45, 25, 5};
int poly3_x[] = { 240, 260, 220, 260, 220, 240};
int poly3_y[] = { 5, 65, 85, 25, 25, 5};
public void paint(Graphics g) {
g.drawPolygon(poly1_x, poly1_y, poly1_x.length);
g.drawPolygon(poly2_x, poly2_y, poly2_x.length);
g.drawPolygon(poly3_x, poly3_y, poly3_x.length);
} }
// #3 мысал: үшөлшемді тікбұрыш: ThreeDRect.java
import java.applet.*;
import java.awt.*;
public class ThreeDRect extends Applet {
public void draw3DRect(Graphics g, int x, int y,
int width, int height, boolean raised) {
g.draw3DRect(x, y, width - 1, height - 1, raised);
g.draw3DRect(x + 1, y + 1, width - 3, height - 3, raised);
g.draw3DRect(x + 2, y + 2, width - 5, height - 5, raised);
}
public void fill3DRect(Graphics g, int x, int y,
int width, int height, boolean raised)
{ g.draw3DRect(x, y, width-1, height-1, raised);
g.draw3DRect(x + 1, y + 1, width - 3, height - 3, raised);
g.draw3DRect(x + 2, y + 2, width - 5, height - 5, raised);
g.fillRect(x + 3, y + 3, width - 6, height - 6);
}
public void paint(Graphics g){
g.setColor(Color.gray);
draw3DRect(g, 10, 5, 80, 40, true);
draw3DRect(g, 130, 5, 80, 40, false);
fill3DRect(g, 10, 55, 80, 40, true);
fill3DRect(g, 130, 55, 80, 40, false);
}
}
// # 4 мысал: терезеге GIF-суреттерді шығару: DrawImage.java
import java.applet.*;
import java.awt.*;
public class DrawImage extends Applet {
Image img;
public void init() {
img = getImage(getCodeBase(), "cow.gif"); }
public void paint(Graphics g){
g.drawImage(img, 0, 0, this);
} }
// # 5 мысал: апплетке параметрлерді беру: ReadParam.java
import java.awt.*;
import java.applet.*;
public class ReadParam extends Applet{
int b;
String name = "OK";
boolean statement;
public void start() {//чтение параметров
String param;
param = getParameter("statement");
if(param != null)
statement = Boolean.valueOf(param).booleanValue();
try {
param = getParameter("bNumber");
if(param != null) // если не найден
b = Integer.parseInt(param);
} catch(NumberFormatException e) {
b = 0;
statement = false;
}
}
public void paint(Graphics g) {
double d = 0;
if(statement) d = Math.pow(b,2);
else name = "FALSE !";
g.drawString("Name: " + name, 0, 11);
g.drawString("Value b: " + b, 0, 45);
g.drawString("b power 2: " + d, 0, 62);
g.drawString("Statement: " + statement, 0, 79);
}
}
// # 6 мысал: компоненті бар апплет: MyJApplet.java
import javax.swing.*;
import java.awt.*;
public class MyJApplet extends JApplet {
JLabel lbl = new JLabel("Swing-applet!");;
public void init() {
Container c = getContentPane();
c.add(lbl);
}
}
4. Жеке тапсырма нұсқалары
5. Жұмысты тапсыруға қойылатын талаптар
Зертханалық жұмыста: