|
|
Исходный текст программы CardDemo.java
|
Оглавление |
Назад
// ==========================================
// CardDemo.java
//(C) Alexandr Frolov, 1998
// E-mail: frolov@glasnet.ru
// Web: http://www.glasnet.ru/~frolov
// ==========================================
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class CardDemo extends Applet
implements ActionListener
{
picViewer pv;
Button btnNext;
Button btnPrev;
Button btnFirst;
Button btnLast;
// ============================================
// init
// ============================================
public void init()
{
Image[] imgSlides;
imgSlides = new Image[7];
MediaTracker tr = new MediaTracker(this);
for(int i = 0; i < 7; i++)
{
imgSlides[i] = getImage(getCodeBase(),
"pic0" + (i + 1) + ".gif");
tr.addImage(imgSlides[i], 0);
try
{
tr.waitForAll();
}
catch (InterruptedException e) {}
}
pv = new picViewer(imgSlides);
add(pv);
btnNext = new Button("Next");
btnPrev = new Button("Prev");
btnFirst = new Button("First");
btnLast = new Button("Last");
add(btnNext);
add(btnPrev);
add(btnFirst);
add(btnLast);
btnNext.addActionListener(this);
btnPrev.addActionListener(this);
btnFirst.addActionListener(this);
btnLast.addActionListener(this);
}
// ============================================
// actionPerformed
// ============================================
public void actionPerformed(ActionEvent e)
{
if(e.getSource().equals(btnNext))
{
((CardLayout)
pv.getLayout()).next(pv);
}
else if(e.getSource().equals(btnPrev))
{
((CardLayout)
pv.getLayout()).previous(pv);
}
else if(e.getSource().equals(btnFirst))
{
((CardLayout)
pv.getLayout()).first(pv);
}
else if(e.getSource().equals(btnLast))
{
((CardLayout)
pv.getLayout()).last(pv);
}
}
// ============================================
// getAppletInfo
// ============================================
public String getAppletInfo()
{
return "Name: CardDemo";
}
}
// ============================================
// Class picViewer
// ============================================
class picViewer extends Container
{
picFrame[] pf;
public picViewer(Image[] imgSlides)
{
int nSlides = imgSlides.length;
setLayout(new CardLayout());
pf = new picFrame[nSlides];
for(int i = 0; i < nSlides; i++)
{
pf[i] = new picFrame(imgSlides[i]);
add("pic0" + (i + 1) + " ", pf[i]);
}
}
}
// ============================================
// Class picFrame
// ============================================
class picFrame extends Canvas
{
int imHeight;
int imWidth;
Image im;
Dimension dimMinSize;
// ============================================
// picFrame
// ============================================
public picFrame(Image img)
{
im = img;
imHeight = im.getHeight(this);
imWidth = im.getWidth(this);
dimMinSize =
new Dimension(imWidth, imHeight);
}
// ===========================================
// paint
// ===========================================
public void paint(Graphics g)
{
g.drawImage(im, 0, 0, this);
}
// ===========================================
// getPreferredSize
// ===========================================
public Dimension getPreferredSize()
{
return dimMinSize;
}
// ===========================================
// getMinimumSize
// ===========================================
public Dimension getMinimumSize()
{
return dimMinSize;
}
// ===========================================
// preferredSize
// ===========================================
public Dimension preferredSize()
{
return dimMinSize;
}
// ===========================================
// minimumSize
// ===========================================
public Dimension minimumSize()
{
return dimMinSize;
}
}
|
|
|