java按钮数组_【Java】按钮数组波纹效果

本文介绍了如何使用Java实现一个网格布局的按钮数组,并通过BFS算法和多线程技术,创造出点击按钮后波纹扩散的视觉效果。文章详细讲解了实现流程、涉及的技术点,包括布局管理、按钮数组、多线程、延时和BFS,并提供了完整的代码示例。
摘要由CSDN通过智能技术生成

简介

最近Java学到了布局管理器,看到GridLayout就很有意思,老师说可以做Excel表格什么的,心中突发奇想,于是就想做一个波纹状按钮效果(事后一想可能是我键盘光效的影响-。-),网上一搜,虽然有这个名词,但是和我想的不太一样。于是开始着手去做。

实现流程

布局界面

找到被点击的按钮

以该按钮为起点进行BFS,搜层次,

按照层次进行多线程染色

涉及到点

布局管理,按钮数组,多线程,延时,BFS

实现代码

点击查看代码

package test;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.util.LinkedList;

import java.util.Queue;

class MyLayout extends Frame implements ActionListener{

//按钮数组大小

private int ROWS = 10;

private int COLS = 10;

class MyButton extends Button{

public int x,y;//按钮在数组中的下标

public int deep;//按钮的层次

}

private MyButton btn[][] = new MyButton[ROWS][COLS];

private int vis[][] = new int[ROWS][COLS];

private Color a = new Color(252,157,154);//原始颜色

private Color b = new Color(254,67,101);//点击颜色

private int dir[][] = new

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值