package PbuliClass;
|
import java.awt.BorderLayout;
|
import java.awt.Dimension;
|
import java.awt.Graphics;
|
import java.awt.GridBagLayout;
|
import java.awt.Image;
|
import java.awt.Toolkit;
|
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseEvent;
|
import java.io.Serializable;
|
|
import javax.swing.JLabel;
|
import javax.swing.JPanel;
|
import javax.swing.JWindow;
|
|
/**¸ÃÀàÓÃÓÚʵÏÖÓÒϽǵĵ¯´°ÌáÐѹ¦ÄÜ*/
|
/*JWindow ÊÇÒ»¸öÈÝÆ÷£¬¿ÉÒÔÏÔʾÔÚÓû§×ÀÃæÉϵÄÈκÎλÖá£
|
* ËüûÓбêÌâÀ¸¡¢´°¿Ú¹ÜÀí°´Å¥»òÕ߯äËûÓë JFrame ¹ØÁªµÄÐÞÊÎ
|
* */
|
public class PopWindow extends JWindow {
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 1L;
|
|
public PopWindow(String text) {
|
addMouseListener(new MouseAdapter() {// Ìí¼ÓÊó±êʼþ¼àÌýÆ÷
|
public void mousePressed(MouseEvent e) {
|
dispose();// Êó±êµ¥»÷£¬ÔòÏú»ÙÕâ¸ö´°Ìå
|
}
|
});
|
this.setBounds(100, 100, 300, 200);// ÉèÖô°Ìå´óС
|
BGPanel panel = new BGPanel();// ´´½¨±³¾°Ãæ°å
|
// ÉèÖñ³¾°Í¼Æ¬
|
panel.setImage(Toolkit.getDefaultToolkit().getImage("image/tip/tips.jpg"));
|
getContentPane().add(panel, BorderLayout.CENTER);
|
JLabel textLabel=new JLabel();//ÉèÖÃÌáʾÎÄ×Ö
|
textLabel.setText(text);
|
panel.add(textLabel);
|
|
}
|
|
|
}
|
|
class BGPanel extends JPanel implements Serializable {
|
|
private static final long serialVersionUID = 1L;
|
private Image image;
|
public static final int HORIZONGTAL_FILL = 1;
|
public static final int VERTICAL_FILL = 2;
|
public static final int BOTH_FILL = 3;
|
public static final int NO_FILL = 0;
|
private int iconFill = NO_FILL;
|
|
/**
|
* This is the default constructor
|
*/
|
public BGPanel() {
|
super();
|
initialize();
|
}
|
|
/**
|
* This method initializes this
|
*
|
* @return void
|
*/
|
private void initialize() {
|
this.setSize(new Dimension(300, 200));
|
this.setLayout(new GridBagLayout());
|
}
|
|
public Image getImage() {
|
return image;
|
}
|
|
public void setImage(Image icon) {
|
this.image = icon;
|
}
|
|
@Override
|
protected void paintComponent(Graphics g) {
|
super.paintComponent(g);// Íê³ÉÔÀ´¿Ø¼þÍâ¹ÛµÄ»æÖÆ
|
if (image != null) {// ¿ªÊ¼×Ô¶¨Òå±³¾°µÄ»æÖÆ
|
switch (iconFill) {// Åжϱ³¾°Ìî³ä·½Ê½
|
case NO_FILL:// ²»Ìî³ä
|
g.drawImage(image, 0, 0, this);// »æÖÆÔʼͼƬ´óС
|
break;
|
case HORIZONGTAL_FILL:// ˮƽÌî³ä
|
// »æÖÆÓë¿Ø¼þµÈ¿íµÄͼƬ
|
g.drawImage(image, 0, 0, getWidth(), image.getHeight(this),
|
this);
|
break;
|
case VERTICAL_FILL:// ´¹Ö±Ìî³ä
|
// »æÖÆÓë¿Ø¼þµÈ¸ßµÄͼƬ
|
g.drawImage(image, 0, 0, image.getWidth(this), getHeight(),
|
this);
|
break;
|
case BOTH_FILL:// Ë«ÏòÌî³ä
|
// »æÖÆÓë¿Ø¼þͬµÈ´óСµÄͼƬ
|
g.drawImage(image, 0, 0, getWidth(), getHeight(), this);
|
break;
|
default:
|
break;
|
}
|
}
|
}
|
|
public int getIconFill() {
|
return iconFill;
|
}
|
|
/**
|
* ÉèÖñ³¾°Öظ´·½Ê½
|
*
|
* @param repeat
|
* ÖØ¸´·½Ê½
|
*/
|
public void setIconFill(int iconFill) {
|
this.iconFill = iconFill;
|
}
|
|
}
|