Ayuda para explicar el primer ejemplo de applets.html xyzapp.java en la demostración de JDK
Esto. Un poco demasiado largo.
importar java.applet.Applet;
importar java.awt.Image;
importar java.awt.Event;
importar java.awt.Graphics;
importar java.awt.Dimension;
importar java.io.*;
importar java.net.URL; p> p>
importar java.util.Image.IndexColorModel; target="_blank"> target="_blank".
sval;
doble x = 0, y = 0, z = 0;
if (st.nextToken() == StreamTokenizer.TT_NUMBER)
{
x = st.sval;
if (st.nextToken() == StreamTokenizer.TT_NUMBER)
e.consume()
e.consume() consumir();
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseEntered( MouseEvent e)mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseDragged (MouseEvent e) {
int x = e.getX();
int y = e.getY()
tmat.unit();
float xtheta = (prevy - y) * (360.0f / getSize().width);
float ytheta = (x - prevx) * (360.0f / getSize() .height);
tmat.xrot(xtheta);
tmat.yrot(ytheta);
amat.mult(tmat);
if (pintado) {
pintado = false;
repintar();
}
prevx = x;
prevy = y;
e.consume();
}
public void mouseMoved(MouseEvent e) {
}
actualización de vacío público (Gráficos g) {
if (backBuffer == null)
g.clearRect(0, 0, getSize( ).width, getSize().height);
paint(g);
}
public void paint(Gráficos g) {
if (md ! = null) {
md.mat.unit();
md.mat.translate(-(md.xmin + md.xmax) / 2,
-(md.ymin + md.ymax) / 2,
-(md.zmin + md.zmax) / 2); md.mat.mult(amat);
// md.mat.scale(xfac, -xfac, -xfac,
-xfac, -xfac, -xfac, -xfac, -xfac, -xfac, -xfac, -xfac, -xfac, -xfacscale(xfac, -xfac, 8 * xfac / getSize().width);
md.mat.scale(xfac, -xfac, 16 * xfac / getSize() .width);
md.mat.translate(getSize().width / 2, getSize(). altura / 2, 8);
md.transformed = false;
if (backBuffer ! = null) {
if (!backSize.equals(getSize ()))
newBackBuffer();
backGC.setColor(getBackground());
backGC.fillRect (0,0,getSize(). ancho,getSize().height);
md.paint(backGC);
g.drawImage(backBuffer)drawImage(backBuffer, 0, 0, this);
}
else
md.paint(g);
setPainted();
} else if (mensaje ! = null) {
g.drawString("Error en el modelo:", 3, 20);
g.drawString(mensaje, 10, 40);
}
}
}
vacío sincronizado privado setPainted() {
pintado = true;
notifyAll();
}
vacío privado sincronizado waitPainted()
{
while (!pintado)
{
intentar
{
esperar();
}
capturar (Excepción interrumpida e) {}
}
pintado = falso;
}