Applet în Java

Previzualizare laborator:

Extras din laborator:

Scopul lucrării: familiarizarea studenţilor cu crearea apletelor în Java. Însuşirea modalităţilor de creare a appletelor în Java. Însuşirea metodelor de utilizare a thread-urilor în applete pentru animare.

Insarcinarea: Spot publicitar ce poate fi întrerupt şi repornit, ce caracterizează Catedra Calculatoare.

Listingul programului:

package la6Ap;

import java.awt.*;

import java.applet.*;

import java.net.URL;

@SuppressWarnings("unused")

public class AnimationApplet extends Applet implements Runnable

{ private static final long serialVersionUID = 1L;

private Thread AnimationThread = null;

private String m_AnimationString = "Catedra Calculatoare de la UTM cea mai buna:";

private final String PARAM_AnimationString = "AnimationString";

private Image bufferedDisplay = null;

private boolean animate = true;

public AnimationApplet()

{

// TODO: Add constructor code here

}

public void init()

{ Image img = null;

String param;

param = getParameter(PARAM_AnimationString);

if (param != null)

m_AnimationString = param;

resize(500,250);

bufferedDisplay = createImage(500,250);

//atasarea imafine

img = getImage(getCodeBase(), "bumbum.gif");

img = getImage(getCodeBase(), "smiley07.gif");

}

public void update(Graphics g)

{

paint(g);

}

public void paint(Graphics g)

{ if ( bufferedDisplay != null)

g.drawImage(bufferedDisplay, 0,0, null);

}

public void start()

{ if (AnimationThread == null)

{ AnimationThread = new Thread(this);

AnimationThread.start();

}

}

public void stop()

{ if (AnimationThread != null)

{ extracted();

AnimationThread = null; }

}

@SuppressWarnings("deprecation")

private void extracted() {

AnimationThread.stop();

}

@SuppressWarnings("deprecation")

public void run()

{

int width = size().width;

int height= size().height;

int xOffset = width +15;

int yOffset = height / 2;

Graphics display = bufferedDisplay.getGraphics();

Font textFont = new Font("Tahoma", Font.ITALIC,45);

display.setFont(textFont);

FontMetrics fm = display.getFontMetrics();

int strWidth = fm.stringWidth(m_AnimationString);

while (true)

{

try

{

if (animate == false)

{

Thread.sleep(1000);

continue;

}

// colorom in orange

display.setColor (Color.ORANGE);

display.fillRect (0,0, width, height);

// coloarea textului

display.setColor (Color.blue);

display.drawString (m_AnimationString, xOffset, yOffset);

// Decrementam xOffset p/u efectul scrol

xOffset--;

if (xOffset < -strWidth)

xOffset = width+1;

repaint();

Thread.sleep(10);

}

catch (InterruptedException e)

{

stop();

}

}

}

public boolean mouseDown(Event evt, int x, int y)

{

// oprim animatia

animate = false;

return true;

}

public boolean mouseUp(Event evt, int x, int y)

{

// Reluam animatia

animate = true;

return true;

}

}

Observații:

Universitatea Tehnica a Moldovei.

Catedra Calculatoare.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Descrierea.doc
  • la6.java
Alte informații:
Tipuri fișiere:
doc, java
Nota:
7/10 (1 voturi)
Nr fișiere:
2 fisiere
Pagini (total):
4 pagini
Imagini extrase:
4 imagini
Nr cuvinte:
379 cuvinte
Nr caractere:
3 215 caractere
Marime:
15.31KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Profesorului:
Lidia Rotaru
Sus!