|
DisplayBackPanel |
|
/* * JVirus is a PacMan clone, written in Java. * * Please read "http://jvirus.sourceforge.net/jvirus_licence.txt" for copyrights. * * The sourcecode is designed and created with * Sun J2SDK 1.3 and Microsoft Visual J++ 6.0 * * JVirus homepage: http://jvirus.sourceforge.net * * autor: Slawa Weis * email: slawaweis@animatronik.net * */ package org.game.JVirus; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; /** * this panel contains the Display panel and the panel for messages * * @see org.game.JVirus.Display */ public class DisplayBackPanel extends JPanel { /** * display panel * * @see org.game.JVirus.Display */ protected JPanel center = null; /** * message panel */ protected JPanel dialogPanel = null; /** * creates the panel. * * @param center the panel for the display panel */ public DisplayBackPanel(JPanel center) { super(null); dialogPanel = new JPanel(new GridLayout(1, 1)); dialogPanel.setSize(600, 400); dialogPanel.setBackground(new Color(0, 0, 0, 128)); dialogPanel.setBorder(new LineBorder(SwingTheme.black, 1)); dialogPanel.setVisible(false); add(dialogPanel); this.center = center; center.setLocation(0, 0); add(center); setPreferredSize(center.getSize()); addComponentListener(new Resizer()); } /** * show the message panel * * @param component the component with the message */ public void showDialogPanel(Component component) { dialogPanel.removeAll(); dialogPanel.add(component); dialogPanel.doLayout(); dialogPanel.setVisible(true); } /** * hide the message panel */ public void hideDialogPanel() { dialogPanel.setVisible(false); } /** * help class. If the DisplayBackPanel is resized, the center panel movin in the center of DisplayBackPanel */ protected class Resizer extends ComponentAdapter { public void componentResized(ComponentEvent e) { Dimension size = getSize(); Dimension center_size = center.getSize(); center.setLocation((size.width - center_size.width)/2, (size.height - center_size.height)/2); setPreferredSize(center_size); Dimension dialogPanel_size = dialogPanel.getSize(); dialogPanel.setLocation((size.width - dialogPanel_size.width)/2, (size.height - dialogPanel_size.height)/2); } } }
|
DisplayBackPanel |
|