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

📄 button.java

📁 模仿Fyrad32编写的四子棋游戏
💻 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 + -