📄 button.java
字号:
package fyrad;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Shape;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.geom.Ellipse2D;
import javax.swing.*;
class Button extends JButton
{
/**
* 扩展按钮类,使其边框画出圆
*/
private static final long serialVersionUID = -4164171721279646162L;
int hitFlag=0;
//画圆的标签和背景
public Button()
{
super();
Dimension size=getPreferredSize();
size.width=Math.max(size.width,size.height);
size.height=size.width/3;
setPreferredSize(size);
//此调用使JButton不画背景且允许我们画一个圆形背景
setContentAreaFilled(false);
this.addMouseListener(new MouseAdapter()
{ public void mousePressed(MouseEvent arg0){}});
}
public void setHit(int i){ hitFlag=i; }
protected void paintComponent(Graphics g)
{
g.setColor(getBackground());
//此调用绘一个标签和焦点矩形
g.fillOval(2, 2, getSize().width-4,getSize().height-4);
}
//用弧画按钮边界
protected void paintBorder(Graphics g) { g.setPaintMode(); }
Shape shape;
public boolean contains(int x, int y)
{//若按钮大小改变则产生一个新的形状对象
if (shape == null || !shape.getBounds().equals(getBounds()))
{ shape = new Ellipse2D.Float(2,2,getWidth()-4,getHeight()-4); }
return shape.contains(x, y);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -