» »

[Java] Osveževanje Appleta v Applet Viewer-ju

[Java] Osveževanje Appleta v Applet Viewer-ju

SkIDiver ::

Se ubadam z appleti pa me nekaj jezi. Za izvajanje appleta uporabljam applet viewer, ki pride skupaj z JDK-jem. Vendar, ko zadevo poženem mi odpre viewer okence določene velikosti. Ko spremenim velikost se zbriše vsebina v viewer-ju. Vsebina, ki se zbriše so recimo Stringi, ki jih "narišem" v applet z grafiko. Kako bi rešil težavico?

Za primer pa še koda kjer se vsebina v applet viewer-ju pobriše ob spremembi velikosti viewer-ja.

import javax.swing.*;
import java.awt.*;

public class JDemoFontMetrics extends JApplet {

	String companyName = new String("Event Handlers Incorporated");
	Font courierItalic = new Font("Courier", Font.ITALIC, 16),
	timesPlain = new Font("TimesRoman", Font.PLAIN, 16),
	helvetBold = new Font("Helvetica", Font.BOLD, 16);
	
	int ascent, descent, height, leading;
	int x = 10, y = 15;
	
	static final int INCREASE = 15;
	
	public void paint(Graphics pen) {
		
		pen.setFont(courierItalic);
		pen.drawString(companyName, x, y);
		displayMetrics(pen);
		pen.setFont(timesPlain);
		pen.drawString(companyName, x, y += 40);
		displayMetrics(pen);
		pen.setFont(helvetBold);
		pen.drawString(companyName, x, y += 40);
		displayMetrics(pen);
	}
	
	public void displayMetrics(Graphics metrics) {
		
		leading = metrics.getFontMetrics().getLeading();
		ascent = metrics.getFontMetrics().getAscent();
		descent = metrics.getFontMetrics().getDescent();
		height = metrics.getFontMetrics().getHeight();
		
		metrics.drawString("Leading is " + leading, x, y += INCREASE);
		metrics.drawString("Ascent is " + ascent, x, y += INCREASE);
		metrics.drawString("Descent is " + descent, x, y += INCREASE);
		metrics.drawString("Height is " + height, x, y += INCREASE);
	}
}
  • spremenil: SkIDiver ()

matejv ::

zdej bom govoril bolj na pamet. zdi se mi, da bi moral ob spremembi velikosti zahtevati .redraw (ali nekaj podobnega). je ze skoraj leto odkar sem to zadnic pocel.

Karlos ::

Zakaj bi sploh resizu applet? Ko je enkrat na spletu je itak fiksne velikosti.
Pa še koda je malo čudna v smislu kako naj bi applet delal bil napisan.
Sai Baba: "Dam vam to, kar hočete, da boste hoteli to, kar vam želim dati."

SkIDiver ::

Karlos gre samo za učenje. Na fiksno velikost pa sploh nism pomislu.

Karlos ::

Če tako potem si pa za začetek malo poglej tukaj

Za osveževanje bi pa pomoje moral napisat poslušalca za za window in potem klicat kakšen repaint().
Tako je ponavadi v SWING-u, samo kot sem že napisal applet ni namenjen takim "posegom".
Sai Baba: "Dam vam to, kar hočete, da boste hoteli to, kar vam želim dati."


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C#]Analogna ura

Oddelek: Programiranje
152737 (2374) cekr
»

VB 2008 težava s printanjem oz. napačna kodna tabela

Oddelek: Programiranje
5766 (707) RuN
»

[Java] Ne zažene appleta

Oddelek: Programiranje
51208 (1141) iggy
»

[Java] Grafika

Oddelek: Programiranje
91460 (1227) SkIDiver
»

[C++] preprosto risanje

Oddelek: Programiranje
71662 (1539) popec

Več podobnih tem