📄 qqbutton.java
字号:
//按钮封装类
package myQQ;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
class QQButton extends JButton
{
ImageIcon icPlain; //未选择时的图片
ImageIcon icEnter; //悬停时的图片
ImageIcon icSelect; //选择时的图片
String bname; //图片名
Color cB; //背景色
Border bR = BorderFactory.createRaisedBevelBorder();
Border bL = BorderFactory.createLoweredBevelBorder();
boolean click = false; //是否点击
QQButton(ImageIcon icP,Color cB,String text)
{ //图标按钮+浮动文字
//鼠标悬停改变背景--按下后凹入
super(icP);
this.cB = cB;
this.setToolTipText(text);
this.setTypeForAll();
this.addMouseListener(new MEone());
}
QQButton(String bname,String text)
{ //图标+正中文字的按钮
super(text);
this.bname = bname;
this.icPlain = new ImageIcon(bname+"0.png");
this.icEnter = new ImageIcon(bname+"1.png");
this.icSelect = new ImageIcon(bname+"2.png");
this.setIcon(icPlain);
//设置文字图标对齐方式
this.setVerticalTextPosition(JButton.CENTER);
this.setHorizontalTextPosition(JButton.CENTER);
this.setTypeForAll();
this.addMouseListener(new MEtwo());
}
public void setTypeForAll()
{ //统一设置类型
this.setMargin(new Insets(0,0,0,0));
this.setBorder(null);
this.setContentAreaFilled(false);
}
class MEone extends MouseAdapter
{
public void mouseClicked(MouseEvent e)
{
if(!click)
{ //初次点击凹入
setBorder(bL);
click = true;
}
else
{ //再次点击恢复
setBorder(null);
click = false;
}
}
public void mouseEntered(MouseEvent e)
{
setBackground(cB);
setContentAreaFilled(true);
}
public void mouseExited(MouseEvent e)
{
setBackground(null);
setContentAreaFilled(false);
}
}
class MEtwo extends MouseAdapter
{
public void mouseEntered(MouseEvent e)
{
setIcon(icEnter);
}
public void mouseExited(MouseEvent e)
{
setIcon(icPlain);
}
public void mousePressed(MouseEvent e)
{
setIcon(icSelect);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -