Prvý…
Applet1.html:. . . <applet code=Applet1 width=200 height=200> </applet> . . .
import java.awt.*;
import java.applet.*;
public class Applet1 extends Applet {
public void paint(Graphics g) {
g.drawString("First applet", 10, 10);
}
}
appletviewer file:C:\borovan\java\eclipse\Applet1\Applet1.html
Druhý…import java.awt.*; import java.applet.*;
public class Applet2 extends Applet {
public void paint(Graphics g) { g.drawString("Second applet", 10, 15); g.draw3DRect(0, 0, 100, 20, true); }
}
Život appletupublic class Applet3 extends Applet { String s; int inits = 0; int starts = 0; int stops = 0;
public void init() { inits++; }
public void start() { starts++; }
public void stop() { stops++; }
public void paint(Graphics g) { s = "inits: " + inits + ", starts: " + starts + ", stops: " + stops; g.drawString(s, 10, 10); } }
init( ) - je volaná, keď je applet prvý krát vytvorený, po reload
start( ) - je volaná, keď je applet spustený web browseorm, po refresh, resp. v applet vieweri, po restarte.
paint( ) - pri každom prekreslení appletu
stop( ) - keď web browser, resp. applet viewer zastaví applet.
destroy( ) – pri uvoľnení resourcov appletu
Život appletupublic class Simple extends Applet {
StringBuffer buffer;
public void init() {buffer = new StringBuffer();
addItem("initializing... "); }
public void start() { addItem("starting... "); }
public void stop() { addItem("stopping... "); }
public void destroy() { addItem("preparing for unloading..."); }
void addItem(String newWord) { System.out.println(newWord); buffer.append(newWord); repaint(); }
public void paint(Graphics g) { g.drawRect(0, 0, size().width-1, size().height-
1); g.drawString(buffer.toString(), 5, 15); }}
initializing...
starting...
stopping...
preparing for unloading...
public void paint(Graphics g) {
Dimension d = size(); int x = 5; int y = 7;
Color bg = getBackground(); Color fg = getForeground();
int gridWidth = d.width / 7; int gridHeight = d.height / 2; int stringY = gridHeight - 7; int rectWidth = gridWidth - 2*x; int rectHeight = stringY - maxCharHeight - y;
g.setColor(bg); g.draw3DRect(0, 0, d.width - 1, d.height - 1, true); g.draw3DRect(3, 3, d.width - 7, d.height - 7,
false); g.setColor(fg);
// drawLine() g.drawLine(x, y+rectHeight-1, x + rectWidth, y); g.drawString("drawLine()", x, stringY); x += gridWidth;
// drawRect() g.drawRect(x, y, rectWidth, rectHeight); g.drawString("drawRect()", x, stringY); x += gridWidth;
// draw3DRect()
g.setColor(bg);
g.draw3DRect(x, y, rectWidth, rectHeight, true);
g.setColor(fg);
g.drawString("draw3DRect()", x, stringY);
x += gridWidth;
// drawRoundRect() g.drawRoundRect(x, y, rectWidth, rectHeight, 10, 10); g.drawString("drawRoundRect()", x, stringY);x += gridWidth;
// drawOval() g.drawOval(x, y, rectWidth, rectHeight); g.drawString("drawOval()", x, stringY);x += gridWidth;// drawArc() g.drawArc(x, y, rectWidth, rectHeight, 90, 135); g.drawString("drawArc()", x, stringY);x += gridWidth;
// drawPolygon() Polygon polygon = new Polygon();polygon.addPoint(x, y);polygon.addPoint(x+rectWidth, y+rectHeight);polygon.addPoint(x, y+rectHeight);polygon.addPoint(x+rectWidth, y);g.drawPolygon(polygon); g.drawString("drawPolygon()", x, stringY);
Uhlopriečkyimport java.awt.*;
import java.applet.Applet;
public class Nuhol extends Applet {
public void paint(Graphics g) {
int sizex = 500;
int sizey = 500;
resize(sizex,sizey);
int sx = sizex / 2;
int sy = sizey / 2;
int rad = ((sx>sy)?sy:sx)*2/3;
int N = 16;
int X[] = new int[N];
int Y[] = new int[N];
for(int i=0; i<N; i++) {
X[i] = (int)Math.round(sx+rad*
Math.cos((float)i*2*Math.PI/N));
Y[i] = (int)Math.round(sy+rad*
Math.sin((float)i*2*Math.PI/N));
}
for(int i=0;i<N; i++)
for(int j=i;j<N; j++){
if (2*(j-i) == N) continue;
g.drawLine(X[i], Y[i],X[j], Y[j]);
}
}
KorytnačkaDefinujte triedu Turtle s nasledujúcimi metódami:
void Turtle(int width, int height); // inicializácia korytnačk
void ZmenSmer(float nSmer); // absolútna zmena smeru korytnačky
void ZmenXY(float nX, float nY); // absolútna zmena polohy
void Vlavo(float Uhol); // otočí korytnačku vľavo o zadaný uhol
void Vpravo(float Uhol); // otočí korytnačku vpravo o zadaný uhol
void Dopredu(float Dlzka); // pohne korytnačku dopredu o určenú dĺžku
void vl(float Uhol); // skratka príkazu Vlavo
void vp(float Uhol); // skratka príkazu Vpravo
void dp(float Dlzka); // skratka príkazu Dopredu
Príklad: Nasledujúce príkazy nakreslia štvorec:
Dopredu(100); // choď dopredu 100 krokovVlavo(90); // otoč sa vľavo o 90 stupňovDopredu(100);Vlavo(90);Dopredu(100);Vlavo(90);Dopredu(100);
Korytnačkaimport java.awt.*;
import java.applet.Applet;
public class Turtle extends Applet {
int sizeX = 500;
int sizeY = 500;
float X = sizeX/2;
float Y = sizeY/2;
float dir = 0;
Graphics gg;
public void Turtle(int width, int height) {
sizeX = width;
sizeY = height;
resize (sizeX,sizeY);
X = sizeX/2;
Y = sizeY/2;
dir = 0;
}
public void Vlavo(float Uhol) {
dir -= Uhol;
}
public void Vpravo(float Uhol) {
dir += Uhol;
}
public void Dopredu(float Dlzka) {
float X1 = X + (float)(Dlzka*Math.cos(dir*2*Math.PI/360));
float Y1 = Y + (float)(Dlzka*Math.sin(dir*2*Math.PI/360));
gg.drawLine((int)X,(int)Y,(int)X1,(int)Y1);
X = X1; Y = Y1;
}
public void ZmenXY(float nX, float nY) {
X = nX; Y = nY;
}
public void paint(Graphics g) {
gg = g;
Turtle(500,500);
Dopredu(100); Vlavo(90);
Dopredu(100); Vlavo(90);
Dopredu(100); Vlavo(90);
Dopredu(100); Vlavo(90);
ZmenXY(100,100);
for(int i=0; i<150; i++){ Dopredu(150); Vlavo(179); }
}
}
Korytnačkapublic class Turtle extends Applet {
Image img;
public void Dopredu(float Dlzka) {
float X1 = X + (float)(Dlzka*Math.cos(dir*2*Math.PI/360));
float Y1 = Y + (float)(Dlzka*Math.sin(dir*2*Math.PI/360));
img.getGraphics().drawLine((int)X,(int)Y,(int)X1,(int)Y1);
X = X1; Y = Y1;
}
public void paint(Graphics g) {
g.drawImage(img,1,1,Color.YELLOW,this);
}
public void init() {
resize(sizeX,sizeY);
img = createImage(sizeX,sizeY);
}
public void start() { Dopredu(100); Vlavo(90); Dopredu(100); Vlavo(90); Dopredu(100); Vlavo(90); Dopredu(100); Vlavo(90);
ZmenXY(100,100); for(int i=0; i<150; i++){ Dopredu(150); Vlavo(179); } repaint(); }}
Ručičkaimport java.applet.*;import java.awt.*;
public class Rucicka extends Applet implements Runnable {
int width, height; int i = 0; Thread t = null;
public void init() { width = getSize().width; height = getSize().height; setBackground( Color.BLUE ); }
public void start() { t = new Thread( this ); t.start(); }}
public void run() { try { while (true) { i++; i %= 60; repaint(); t.sleep( 1000 ); } } catch (InterruptedException e) { /*…*/ }}
public void paint( Graphics g ) { g.setColor( Color.ORANGE ); g.drawLine( width/2, height/2,
(int)(width/2+width/3*Math.cos(i/30.0*Math.PI)),
(int)(height/2+height/3*Math.sin(i/30.0*Math.PI)));}
Gombíky
import java.awt.*; import java.applet.*; public class Button1 extends Applet {
Button b1 = new Button("Button 1"), b2 = new Button("Button 2");
public void init() { add(b1); add(b2); }
}
Eventy import java.awt.*; import java.applet.*;
public class Button2 extends Applet { Button b1 = new Button("Button 1"), b2 = new Button("Button 2");
public void init() { add(b1); add(b2); }
public boolean action(Event evt, Object arg) { if(evt.target.equals(b1)) getAppletContext().showStatus("Button 1"); else if(evt.target.equals(b2)) getAppletContext().showStatus("Button 2"); else return super.action(evt, arg); return true; } }
if(arg.equals("Button 1")) getAppletContext().showStatus("Button 1");
Text field public class TextField1 extends Applet { Button b1 = new Button("Get Text"), b2 = new Button("Set Text"); TextField t = new TextField("Starting text", 30); String s = new String(); public void init() { add(b1); add(b2); add(t); }
public boolean action (Event evt, Object arg) { if (evt.target.equals(b1)) { getAppletContext().showStatus(t.getText()); s = t.getSelectedText(); if(s.length() == 0) s = t.getText(); t.setEditable(true); } else if (evt.target.equals(b2)) { t.setText("Inserted by Button 2: " + s); t.setEditable(false); } else return super.action(evt, arg); return true; } }
Text areapublic class TextArea1 extends Applet { Button b1 = new Button("Text Area 1"); Button b2 = new Button("Text Area 2"); Button b3 = new Button("Replace Text"); Button b4 = new Button("Insert Text"); TextArea t1 = new TextArea("t1", 1, 30); TextArea t2 = new TextArea("t2", 4, 30);
public void init() { add(b1); add(t1); add(b2); add(t2); add(b3); add(b4); }
public boolean action (Event evt, Object arg) { if(evt.target.equals(b1)) getAppletContext().showStatus(t1.getText()); else if(evt.target.equals(b2)) { t2.setText("Inserted by Button 2"); t2.appendText(": " + t1.getText()); getAppletContext().showStatus(t2.getText()); } else if(evt.target.equals(b3)) { String s = " Replacement "; t2.replaceText(s, 3, 3 + s.length()); } else if(evt.target.equals(b4)) t2.insertText(" Inserted ", 10); else return super.action(evt, arg); return true; } }
Labelpublic class Label1 extends Applet { TextField t1 = new TextField("t1", 10); Label labl1 = new Label("TextField t1"); Label labl2 = new Label(" "); Label labl3 = new Label(" ", Label.RIGHT); Button b1 = new Button("Test 1"); Button b2 = new Button("Test 2"); public void init() { add(labl1); add(t1); add(b1); add(labl2); add(b2); add(labl3); }
public boolean action (Event evt, Object arg) { if(evt.target.equals(b1)) labl2.setText("Text set into Label"); else if(evt.target.equals(b2)) { if(labl3.getText().trim().length() == 0) labl3.setText("labl3"); if(labl3.getAlignment() == Label.LEFT) labl3.setAlignment(Label.CENTER); else if(labl3.getAlignment()==Label.CENTER) labl3.setAlignment(Label.RIGHT); else if(labl3.getAlignment() == Label.RIGHT) labl3.setAlignment(Label.LEFT); } else return super.action(evt, arg); return true; } }
CheckBoxpublic class CheckBox1 extends Applet { TextArea t = new TextArea(6, 20); Checkbox cb1 = new Checkbox("Check Box 1"); Checkbox cb2 = new Checkbox("Check Box 2"); Checkbox cb3 = new Checkbox("Check Box 3"); public void init() { add(t); add(cb1); add(cb2); add(cb3); }
public boolean action (Event evt, Object arg) { if(evt.target.equals(cb1)) trace("1", cb1.getState()); else if(evt.target.equals(cb2)) trace("2", cb2.getState()); else if(evt.target.equals(cb3)) trace("3", cb3.getState()); else return super.action(evt, arg); return true; }
void trace(String b, boolean state) { if(state) t.appendText("Box " + b + " Set\n"); else t.appendText("Box " + b + " Cleared\n"); } }
RadioButton public class RadioButton1 extends Applet { TextField t = new TextField("Radio button 2", 30); CheckboxGroup g = new CheckboxGroup(); Checkbox cb1 = new Checkbox("one", g, false), cb2 = new Checkbox("two", g, true), cb3 = new Checkbox("three", g, false);
public void init() { t.setEditable(false); add(t); add(cb1); add(cb2); add(cb3); }
public boolean action (Event evt, Object arg) { if(evt.target.equals(cb1)) t.setText("Radio button 1"); else if(evt.target.equals(cb2)) t.setText("Radio button 2"); else if(evt.target.equals(cb3)) t.setText("Radio button 3"); else return super.action(evt, arg); return true; } }
Combopublic class Choice1 extends Applet { String[] description = { "Ebullient", "Obtuse", "Recalcitrant", "Brilliant", "Somnescent", "Timorous", "Florid", "Putrescent" }; TextField t = new TextField(30); Choice c = new Choice(); Button b = new Button("Add items"); int count = 0;
public void init() { t.setEditable(false); for(int i = 0; i < 4; i++) c.addItem(description[count++]); add(t); add(c); add(b); }
public boolean action (Event evt, Object arg) { if(evt.target.equals(c)) t.setText("index: "+c.getSelectedIndex()+" "+(String)arg); else if(evt.target.equals(b)) { if(count < description.length) c.addItem(description[count++]); } else return super.action(evt, arg); return true; } }
List Boximport java.awt.*; import java.applet.*; public class List1 extends Applet { String[] flavors = { "Chocolate", "Strawberry", "Vanilla Fudge Swirl", "Mint Chip", "Mocha Almond Fudge", "Rum Raisin", "Praline Cream", "Mud Pie" }; List lst = new List(6, true); TextArea t = new TextArea(flavors.length, 30); Button b = new Button("test"); int count = 0; public void init() { t.setEditable(false); for(int i = 0; i < 4; i++) lst.addItem(flavors[count++]); add(t); add(lst); add(b); } public boolean action (Event evt, Object arg) { if(evt.target.equals(lst)) { t.setText(""); String[] items = lst.getSelectedItems(); for(int i = 0; i < items.length; i++) t.appendText(items[i] + "\n"); } else if(evt.target.equals(b)) { if(count < flavors.length) lst.addItem(flavors[count++], 0); } else return super.action(evt, arg); return true; } }
handleEventpublic boolean handleEvent(Event evt) { if(evt.id == Event.LIST_SELECT || evt.id == Event.LIST_DESELECT) { if(evt.target.equals(lst)) { t.setText(""); String[] items = lst.getSelectedItems(); for(int i = 0; i < items.length; i++) t.appendText(items[i] + "\n"); } else return super.handleEvent(evt); } else return super.handleEvent(evt); return true; } public boolean action(Event evt, Object arg) { if(evt.target.equals(b)) { if(count < flavors.length) lst.addItem(flavors[count++], 0); } else return super.action(evt, arg); return true; }
FlowLayout
import java.awt.*;import java.applet.*;
public class FlowLayout1 extends Applet { public void init() { setLayout(new FlowLayout()); for(int i = 0; i < 20; i++) add(new Button("Button " + i)); } }
BorderLayoutimport java.awt.*; import java.applet.*;
public class BorderLayout1 extends Applet { public void init() { int i = 0; setLayout(new BorderLayout()); add("North", new Button("Button " + i++)); add("South", new Button("Button " + i++)); add("East", new Button("Button " + i++)); add("West", new Button("Button " + i++)); add("Center", new Button("Button " + i++)); } }
add(String direction, Component);
Direction is : "North", "South", "East", "West", and "Center".
GridLayout
import java.awt.*; import java.applet.*;
public class GridLayout1 extends Applet { public void init() { setLayout(new GridLayout(7,3)); for(int i = 0; i < 20; i++) add(new Button("Button " + i)); } }
CardLayoutimport java.awt.*; import java.applet.Applet; class ButtonPanel extends Panel { ButtonPanel(String id) { setLayout(new BorderLayout()); add("Center", new Button(id)); } } public class CardLayout1 extends Applet { Button first = new Button("First"), second = new Button("Second"), third = new Button("Third"); Panel cards = new Panel(); CardLayout cl = new CardLayout(); public void init() { setLayout(new BorderLayout()); Panel p = new Panel(); p.setLayout(new FlowLayout()); p.add(first); p.add(second); p.add(third); add("North", p); cards.setLayout(cl); cards.add("First card", new ButtonPanel("The first one")); cards.add("Second card", new ButtonPanel("The second one")); cards.add("Third card", new ButtonPanel("The third one")); add("Center", cards); } }
public boolean action(Event evt, Object arg) { if (evt.target.equals(first)) cl.first(cards); else if (evt.target.equals(second)) { cl.first(cards); cl.next(cards); } else if (evt.target.equals(third)) cl.last(cards); else return super.action(evt, arg); return true; }