?? facepanel.java
字號:
package qq.client.panel;
import java.awt.Color;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JTextPane;
import javax.swing.border.Border;
import javax.swing.BorderFactory;
/**
* 表情框
* @author hycc
*
*/
public class FacePanel extends JDialog {
private static final long serialVersionUID = 1265464L;
private JTextPane textPane;
/**
* 表情面板構(gòu)造
* @param textPane
*/
public FacePanel(JTextPane textPane){
this.textPane = textPane;
init();
}
private void init(){
Border line= BorderFactory.createLineBorder(new Color(244, 249, 254));
Border empty = BorderFactory.createEmptyBorder(1, 1, 1, 1);
Border border = BorderFactory.createCompoundBorder(empty, line);
Border in = BorderFactory.createLineBorder(Color.BLACK);
Border out = BorderFactory.createEmptyBorder(6, 6, 6, 6);
Border title = BorderFactory.createCompoundBorder(in, out);
this.setUndecorated(true);
this.setBackground(Color.WHITE);
Container container = this.getContentPane();
JPanel pan = new JPanel();
pan.setLayout(new GridLayout(7,15));
pan.setBorder(title);
JButton[] btn = new JButton[100];
Listener listener = new Listener(this);
for(int i = 0; i < 96; i++){
btn[i] = new JButton();
ImageIcon icon=new ImageIcon("qq/images/face/"+i+".gif");
if(icon != null){
btn[i].setIcon(icon);
btn[i].addActionListener(listener);
btn[i].setMargin(new Insets(1,1,1,1));
btn[i].setBorder(border);
pan.add(btn[i]);
}
}
container.add(pan);
pack();
this.setVisible(true);
this.addWindowFocusListener(new MyWindowFocusListener(this));
}
/**
* 表情區(qū)加監(jiān)聽
* @author student
*
*/
public class Listener implements ActionListener{
private JDialog dialog;
public Listener(JDialog dialog){
this.dialog = dialog;
}
public void actionPerformed(ActionEvent e) {
textPane.insertIcon(((JButton)e.getSource()).getIcon());
dialog.dispose();
}
}
/**
* 表情窗體焦點(diǎn)監(jiān)聽
* @author student
*
*/
public class MyWindowFocusListener extends WindowAdapter{
private JDialog dialog;
public MyWindowFocusListener(JDialog dialog){
this.dialog = dialog;
}
public void windowLostFocus(WindowEvent e) { //沒有焦點(diǎn)時(shí)
dialog.dispose();
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -