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; } }