📄 headpanel.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 + -