Methods Summary |
---|
public void | actionPerformed(java.awt.event.ActionEvent e)
if (animating) {
// calculate height to show
float animationPercent =
(System.currentTimeMillis() - animationStart) /
ANIMATION_DURATION;
animationPercent = Math.min (1.0f, animationPercent);
int animatingHeight = 0;
if (animationDirection == INCOMING) {
animatingHeight =
(int) (animationPercent * sheet.getHeight());
} else {
animatingHeight =
(int) ((1.0f - animationPercent) * sheet.getHeight());
}
// clip off that much from sheet and blit it
// into animatingSheet
animatingSheet.setAnimatingHeight (animatingHeight);
animatingSheet.repaint();
if (animationPercent >= 1.0f) {
stopAnimation();
if (animationDirection == INCOMING) {
finishShowingSheet();
} else {
glass.removeAll();
glass.setVisible(false);
}
}
}
|
private void | finishShowingSheet()
glass.removeAll();
GridBagConstraints gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.NORTH;
glass.add (sheet, gbc);
gbc.gridy=1;
gbc.weighty = Integer.MAX_VALUE;
glass.add (Box.createGlue(), gbc);
// glass.setVisible(true);
glass.revalidate();
glass.repaint();
|
public void | hideSheet()
animationDirection = OUTGOING;
startAnimation();
// glass.setVisible(false);
|
public javax.swing.JComponent | showJDialogAsSheet(javax.swing.JDialog dialog)
sheet = (JComponent) dialog.getContentPane();
sheet.setBorder (new LineBorder(Color.black, 1));
glass.removeAll();
animationDirection = INCOMING;
startAnimation();
return sheet;
|
private void | startAnimation()
glass.repaint();
// clear glasspane and set up animatingSheet
animatingSheet.setSource (sheet);
glass.removeAll();
GridBagConstraints gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.NORTH;
glass.add (animatingSheet, gbc);
gbc.gridy=1;
gbc.weighty = Integer.MAX_VALUE;
glass.add (Box.createGlue(), gbc);
glass.setVisible(true);
// start animation timer
animationStart = System.currentTimeMillis();
if (animationTimer == null)
animationTimer = new Timer (ANIMATION_SLEEP, this);
animating = true;
animationTimer.start();
|
private void | stopAnimation()
animationTimer.stop();
animating = false;
|