Оглавление |
Назад
// ==========================================
// AnySize.java
//(C) Alexandr Frolov, 1998
// E-mail: frolov@glasnet.ru
// Web: http://www.glasnet.ru/~frolov
// ==========================================
import java.applet.Applet;
import java.awt.*;
public class AnySize extends Applet
{
Image imFloppy;
int imHeight;
int imWidth;
Dimension dm;
boolean bBeginDrag = false;
Rectangle rcImageCorner;
// ============================================
// init
// ============================================
public void init()
{
MediaTracker tr = new MediaTracker(this);
imFloppy = getImage(getCodeBase(),
"disk.gif");
tr.addImage(imFloppy, 0);
try
{
tr.waitForAll();
}
catch (InterruptedException e) {}
imHeight = imFloppy.getHeight(this);
imWidth = imFloppy.getWidth(this);
dm = size();
setBackground(Color.white);
setForeground(Color.black);
}
// ============================================
// getAppletInfo
// ============================================
public String getAppletInfo()
{
return "Name: AnySize";
}
// ============================================
// paint
// ============================================
public void paint(Graphics g)
{
g.drawRect(0, 0,
dm.width - 1, dm.height - 1);
g.drawImage(imFloppy, 0, 0,
imWidth, imHeight, this);
g.fillRect(imWidth - 5, imHeight - 5, 5, 5);
rcImageCorner = new Rectangle(
imWidth - 5, imHeight - 5, 5, 5);
if(bBeginDrag)
g.setColor(Color.black);
else
g.setColor(Color.white);
g.drawLine(imWidth - 15, imHeight,
imWidth + 15, imHeight);
g.drawLine(imWidth, imHeight - 15,
imWidth, imHeight + 15);
}
// ============================================
// mouseDown
// ============================================
public boolean mouseDown(Event e,
int x, int y)
{
bBeginDrag =
rcImageCorner.contains(x, y);
return true;
}
// ============================================
// mouseUp
// ============================================
public boolean mouseUp(Event e,
int x, int y)
{
bBeginDrag = false;
repaint();
return true;
}
// ============================================
// mouseDrag
// ============================================
public boolean mouseDrag(Event e,
int x, int y)
{
if(bBeginDrag)
{
imHeight = y;
imWidth = x;
repaint();
}
return true;
}
}
|