⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 headpanel.java

📁 QQ游戏大厅
💻 JAVA
字号:

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

/**
 * @author  yeeku.H.lee kongyeeku@163.com
 * @version  1.0
 * <br>Copyright (C), 2005-2008, yeeku.H.Lee
 * <br>This program is protected by copyright laws.
 * <br>Program Name:
 * <br>Date: 
 */
public class HeadPanel extends JPanel
{
	private static final int IMAGE_SUM = 30;
	private final int ROW = 15;
	private final int COLUMN = 2;
	private int iconNumber = 22;
	private BufferedImage headerFrame;

	private BufferedImage selectedHead;
	private BufferedImage[] headImage= new BufferedImage[IMAGE_SUM];
	private BufferedImage[] headIcon= new BufferedImage[IMAGE_SUM];
	private ImageIcon[] headIconImage = new ImageIcon[IMAGE_SUM];

	private int[][] selectImage = new int[ROW][COLUMN];

	private int posX;
	private int posY;

	public HeadPanel()
	{
		try
		{		
			headerFrame = ImageIO.read(new File("fiveStone\\headerFrame.bmp"));
			selectedHead = ImageIO.read(new File("fiveStone\\selectedHead.gif"));

			for (int i=0; i < IMAGE_SUM ; i++ )
			{
				headImage[i] = ImageIO.read(new File("headerImage\\" + (i+1) + ".jpg"));
				headIcon[i] = ImageIO.read(new File("Icon\\" + (i+1) + ".jpg"));
				headIconImage[i] = new ImageIcon("Icon\\" + (i+1) + ".jpg");
			}

			mouseEvent();
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		
	}

	public void mouseEvent()
	{
		this.addMouseMotionListener(new MouseMotionAdapter()
		{
			public void mouseMoved(MouseEvent me)
			{
				posX = (me.getX() - 3) / 27;
				posY = (me.getY() - 3) / 27;
				if (posX >= 0 && posY >= 0 && posX <= 14 && posY <= 1)
				{
					selectImage[posX][posY] = 1;
					rep();					
				}				
			}
		});

		this.addMouseListener(new MouseAdapter()
		{
			public void mouseClicked(MouseEvent e)
			{
				
				posX = (e.getX() - 3) / 27;
				posY = (e.getY() - 3) / 27;

				if (posX >= 0 && posY >= 0 && posX <= (ROW - 1) && posY <= (COLUMN - 1))
				{
					iconNumber = posX + posY * ROW;
					LoginDialog.headLabe.setIcon(headIconImage[iconNumber]);		
				}
			}
		});
	}

	public void rep()
	{
		this.repaint();
	}

	public void paint(Graphics g)
	{
		g.drawImage(headerFrame , 0 , 0 , null);
		for (int i = 0 , n = 0; i < COLUMN ; i++)
		{
			for (int j = 0; j < ROW ; j++ , n++)
			{
				g.drawImage(headImage[n] , j*27 + 5 , i*27 + 5 , null);

				if (selectImage[j][i] == 1)
				{
					g.drawImage(selectedHead , j*27 + 3 , i*27 + 3 , null);
					selectImage[posX][posY] = 0;
				}
			}		
		}
	}

	public int getIconNumber()
	{
		return iconNumber;
	}

	public ImageIcon getImage(int number)
	{
		return headIconImage[number];
	}

	public BufferedImage getHeadIcon(int number)
	{
		return headIcon[number];
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -