Img360.java文件内容:
——————————————————————————————
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
public class Img360 extends Applet
implements MouseListener, MouseMotionListener
{
private void loadImageAll()
{
if(isHorzImage())
{
m_PreHorzImage = new Image[m_iCount][0]];
for(int iCounter = 0; iCounter < m_iCount[0]; iCounter++)
m_PreHorzImage[iCounter] = getImage(getDocumentBase(), getLoadURL(0, iCounter + 1));
}
if(isVertImage())
{
m_PreVertImage = new Image[m_iCount][1]];
for(int iCounter = 0; iCounter < m_iCount[1]; iCounter++)
m_PreVertImage[iCounter] = getImage(getDocumentBase(), getLoadURL(1, iCounter + 1));
}
}
private boolean isHorzImage()
{
return m_szFile[0] != null && m_iCount[0] != 0;
}
public void mouseClicked(MouseEvent mouseevent)
{
}
public void mousePressed(MouseEvent e)
{
if(m_iCurTurn == -1)
return;
e.consume();
if(isHorzImage() && isVertImage())
{
int iTurn = TestTurn(e.getX(), e.getY());
if(iTurn != m_iCurTurn)
{
m_iCurIndex = 1;
m_iCurTurn = iTurn;
if(!m_bPreload)
loadImage();
repaint();
}
}
if(m_iCurTurn == 0)
m_MouseCursor = new Cursor(11);
else
m_MouseCursor = new Cursor(8);
setCursor(m_MouseCursor);
m_MousePos = new Point(e.getX(), e.getY());
}
public void mouseDragged(MouseEvent e)
{
if(m_iCurTurn == -1)
return;
e.consume();
int iPosDiv;
if(m_iCurTurn == 0)
iPosDiv = e.getX() - m_MousePos.x;
else
iPosDiv = e.getY() - m_MousePos.y;
if(iPosDiv < -10 || iPosDiv > 10)
{
if(iPosDiv < -10)
m_iCurIndex++;
else
m_iCurIndex--;
if(m_iCurIndex == 0)
m_iCurIndex = m_iCount[m_iCurTurn];
if(m_iCurIndex > m_iCount[m_iCurTurn])
m_iCurIndex = 1;
m_MousePos.x = e.getX();
m_MousePos.y = e.getY();
if(!m_bPreload)
loadImage();
repaint();
}
}
public Img360()
{
m_szFolder = new String[2];
m_szFile = new String[2];
m_iCount = new int[2];
m_iCurTurn = -1;
m_iCurIndex = 1;
m_CurImage = null;
m_MousePos = null;
m_MouseCursor = null;
m_bPreload = false;
m_PreHorzImage = null;
m_PreVertImage = null;
addMouseListener(this);
addMouseMotionListener(this);
}
public void mouseReleased(MouseEvent e)
{
if(m_iCurTurn == -1)
{
return;
} else
{
e.consume();
m_MousePos = null;
setCursor(Cursor.getDefaultCursor());
m_MouseCursor = null;
return;
}
}
public void mouseMoved(MouseEvent mouseevent)
{
}
private int TestTurn(int iX, int iY)
{
Dimension Dim = getSize();
int iOffsetX = AbsoluteValue(iX - Dim.width / 2);
int iOffsetY = AbsoluteValue(iY - Dim.height / 2);
return iOffsetY * Dim.width > iOffsetX * Dim.height ? 1 : 0;
}
public void paint(Graphics g)
{
if(m_bPreload && m_iCurTurn != -1)
{
if(m_iCurTurn == 0)
{
if(m_PreHorzImage[m_iCurIndex - 1] != null)
g.drawImage(m_PreHorzImage[m_iCurIndex - 1], 0, 0, this);
else
super.paint(g);
} else
if(m_PreVertImage[m_iCurIndex - 1] != null)
g.drawImage(m_PreVertImage[m_iCurIndex - 1], 0, 0, this);
else
super.paint(g);
} else
if(m_CurImage != null)
g.drawImage(m_CurImage, 0, 0, this);
else
super.paint(g);
}
private String getLoadURL(int iTurn, int iIndex)
{
String szURL = "";
if(m_szFolder[iTurn] != null)
{
szURL += m_szFolder[iTurn];
szURL += File.separator;
}
szURL += m_szFile[iTurn];
if(iIndex < 10)
szURL += "0";
szURL += iIndex + ".jpg";
return szURL;
}
private boolean isVertImage()
{
return m_szFile[1] != null && m_iCount[1] != 0;
}
private void loadImage()
{
m_CurImage = null;
m_CurImage = getImage(getDocumentBase(), getLoadURL(m_iCurTurn, m_iCurIndex));
}
private int AbsoluteValue(int n)
{
if(n < 0)
return -n;
else
return n;
}
public void mouseEntered(MouseEvent mouseevent)
{
}
public void mouseExited(MouseEvent mouseevent)
{
}
public void update(Graphics g)
{
if(m_bPreload && m_iCurTurn != -1)
{
if(m_iCurTurn == 0)
{
if(m_PreHorzImage[m_iCurIndex - 1] != null)
g.drawImage(m_PreHorzImage[m_iCurIndex - 1], 0, 0, this);
else
super.update(g);
} else
if(m_PreVertImage[m_iCurIndex - 1] != null)
g.drawImage(m_PreVertImage[m_iCurIndex - 1], 0, 0, this);
else
super.update(g);
} else
if(m_CurImage != null)
g.drawImage(m_CurImage, 0, 0, this);
else
super.update(g);
}
public void init()
{
loadParams();
if(m_bPreload)
loadImageAll();
if(isHorzImage())
m_iCurTurn = 0;
else
if(isVertImage())
m_iCurTurn = 1;
if(m_iCurTurn != -1 && !m_bPreload)
loadImage();
}
private void loadParams()
{
String szParam = getParameter("Preload");
if(szParam != null)
m_bPreload = szParam.compareTo("yes") == 0;
m_szFile[0] = getParameter("HorzFile");
if(m_szFile[0] != null)
{
szParam = getParameter("HorzCount");
if(szParam != null)
{
Long lParam = new Long(szParam);
m_iCount[0] = lParam.intValue();
}
m_szFolder[0] = getParameter("HorzFolder");
}
m_szFile[1] = getParameter("VertFile");
if(m_szFile[1] != null)
{
szParam = getParameter("VertCount");
if(szParam != null)
{
Long lParam = new Long(szParam);
m_iCount[1] = lParam.intValue();
}
m_szFolder[1] = getParameter("VertFolder");
}
}
private final int TURN_NONE = -1;
private final int TURN_HORZ = 0;
private final int TURN_VERT = 1;
private String m_szFolder[];
private String m_szFile[];
private int m_iCount[];
private int m_iCurTurn;
private int m_iCurIndex;
private Image m_CurImage;
private Point m_MousePos;
private Cursor m_MouseCursor;
private boolean m_bPreload;
private Image m_PreHorzImage[];
private Image m_PreVertImage[];
}
——————————————————————————————
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
public class Img360 extends Applet
implements MouseListener, MouseMotionListener
{
private void loadImageAll()
{
if(isHorzImage())
{
m_PreHorzImage = new Image[m_iCount][0]];
for(int iCounter = 0; iCounter < m_iCount[0]; iCounter++)
m_PreHorzImage[iCounter] = getImage(getDocumentBase(), getLoadURL(0, iCounter + 1));
}
if(isVertImage())
{
m_PreVertImage = new Image[m_iCount][1]];
for(int iCounter = 0; iCounter < m_iCount[1]; iCounter++)
m_PreVertImage[iCounter] = getImage(getDocumentBase(), getLoadURL(1, iCounter + 1));
}
}
private boolean isHorzImage()
{
return m_szFile[0] != null && m_iCount[0] != 0;
}
public void mouseClicked(MouseEvent mouseevent)
{
}
public void mousePressed(MouseEvent e)
{
if(m_iCurTurn == -1)
return;
e.consume();
if(isHorzImage() && isVertImage())
{
int iTurn = TestTurn(e.getX(), e.getY());
if(iTurn != m_iCurTurn)
{
m_iCurIndex = 1;
m_iCurTurn = iTurn;
if(!m_bPreload)
loadImage();
repaint();
}
}
if(m_iCurTurn == 0)
m_MouseCursor = new Cursor(11);
else
m_MouseCursor = new Cursor(8);
setCursor(m_MouseCursor);
m_MousePos = new Point(e.getX(), e.getY());
}
public void mouseDragged(MouseEvent e)
{
if(m_iCurTurn == -1)
return;
e.consume();
int iPosDiv;
if(m_iCurTurn == 0)
iPosDiv = e.getX() - m_MousePos.x;
else
iPosDiv = e.getY() - m_MousePos.y;
if(iPosDiv < -10 || iPosDiv > 10)
{
if(iPosDiv < -10)
m_iCurIndex++;
else
m_iCurIndex--;
if(m_iCurIndex == 0)
m_iCurIndex = m_iCount[m_iCurTurn];
if(m_iCurIndex > m_iCount[m_iCurTurn])
m_iCurIndex = 1;
m_MousePos.x = e.getX();
m_MousePos.y = e.getY();
if(!m_bPreload)
loadImage();
repaint();
}
}
public Img360()
{
m_szFolder = new String[2];
m_szFile = new String[2];
m_iCount = new int[2];
m_iCurTurn = -1;
m_iCurIndex = 1;
m_CurImage = null;
m_MousePos = null;
m_MouseCursor = null;
m_bPreload = false;
m_PreHorzImage = null;
m_PreVertImage = null;
addMouseListener(this);
addMouseMotionListener(this);
}
public void mouseReleased(MouseEvent e)
{
if(m_iCurTurn == -1)
{
return;
} else
{
e.consume();
m_MousePos = null;
setCursor(Cursor.getDefaultCursor());
m_MouseCursor = null;
return;
}
}
public void mouseMoved(MouseEvent mouseevent)
{
}
private int TestTurn(int iX, int iY)
{
Dimension Dim = getSize();
int iOffsetX = AbsoluteValue(iX - Dim.width / 2);
int iOffsetY = AbsoluteValue(iY - Dim.height / 2);
return iOffsetY * Dim.width > iOffsetX * Dim.height ? 1 : 0;
}
public void paint(Graphics g)
{
if(m_bPreload && m_iCurTurn != -1)
{
if(m_iCurTurn == 0)
{
if(m_PreHorzImage[m_iCurIndex - 1] != null)
g.drawImage(m_PreHorzImage[m_iCurIndex - 1], 0, 0, this);
else
super.paint(g);
} else
if(m_PreVertImage[m_iCurIndex - 1] != null)
g.drawImage(m_PreVertImage[m_iCurIndex - 1], 0, 0, this);
else
super.paint(g);
} else
if(m_CurImage != null)
g.drawImage(m_CurImage, 0, 0, this);
else
super.paint(g);
}
private String getLoadURL(int iTurn, int iIndex)
{
String szURL = "";
if(m_szFolder[iTurn] != null)
{
szURL += m_szFolder[iTurn];
szURL += File.separator;
}
szURL += m_szFile[iTurn];
if(iIndex < 10)
szURL += "0";
szURL += iIndex + ".jpg";
return szURL;
}
private boolean isVertImage()
{
return m_szFile[1] != null && m_iCount[1] != 0;
}
private void loadImage()
{
m_CurImage = null;
m_CurImage = getImage(getDocumentBase(), getLoadURL(m_iCurTurn, m_iCurIndex));
}
private int AbsoluteValue(int n)
{
if(n < 0)
return -n;
else
return n;
}
public void mouseEntered(MouseEvent mouseevent)
{
}
public void mouseExited(MouseEvent mouseevent)
{
}
public void update(Graphics g)
{
if(m_bPreload && m_iCurTurn != -1)
{
if(m_iCurTurn == 0)
{
if(m_PreHorzImage[m_iCurIndex - 1] != null)
g.drawImage(m_PreHorzImage[m_iCurIndex - 1], 0, 0, this);
else
super.update(g);
} else
if(m_PreVertImage[m_iCurIndex - 1] != null)
g.drawImage(m_PreVertImage[m_iCurIndex - 1], 0, 0, this);
else
super.update(g);
} else
if(m_CurImage != null)
g.drawImage(m_CurImage, 0, 0, this);
else
super.update(g);
}
public void init()
{
loadParams();
if(m_bPreload)
loadImageAll();
if(isHorzImage())
m_iCurTurn = 0;
else
if(isVertImage())
m_iCurTurn = 1;
if(m_iCurTurn != -1 && !m_bPreload)
loadImage();
}
private void loadParams()
{
String szParam = getParameter("Preload");
if(szParam != null)
m_bPreload = szParam.compareTo("yes") == 0;
m_szFile[0] = getParameter("HorzFile");
if(m_szFile[0] != null)
{
szParam = getParameter("HorzCount");
if(szParam != null)
{
Long lParam = new Long(szParam);
m_iCount[0] = lParam.intValue();
}
m_szFolder[0] = getParameter("HorzFolder");
}
m_szFile[1] = getParameter("VertFile");
if(m_szFile[1] != null)
{
szParam = getParameter("VertCount");
if(szParam != null)
{
Long lParam = new Long(szParam);
m_iCount[1] = lParam.intValue();
}
m_szFolder[1] = getParameter("VertFolder");
}
}
private final int TURN_NONE = -1;
private final int TURN_HORZ = 0;
private final int TURN_VERT = 1;
private String m_szFolder[];
private String m_szFile[];
private int m_iCount[];
private int m_iCurTurn;
private int m_iCurIndex;
private Image m_CurImage;
private Point m_MousePos;
private Cursor m_MouseCursor;
private boolean m_bPreload;
private Image m_PreHorzImage[];
private Image m_PreVertImage[];
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货