java - Java Swing 会限制它绘制的项目数吗?
问题描述
我正在用 Java 编写一个递归方法,它基本上创建了一个圆形树。它在顶部和中心绘制一个圆圈,然后再次调用该方法并在 y 轴上创建一个低于新圆圈左侧和右侧一半的圆圈。我成功了,但只绘制了一定数量的对象这是它的样子
public void test(Graphics g, int y, int num, double instance) {
if(num<50) {
int r = 20;
for(int i=1;i<=instance;i++) {
if(i%2==1) {
g.fillOval(getWidth() * i / num, y, r, r);
}
}
if(instance==1){
instance= 2* instance;
}
test(g, y + 20, num * 2, Math.pow(instance,2.0));
}
一切正常,直到我尝试将“if(num<50)”中的数字增加到恰好“if(num<65)”。当我更改 JFrame 出现但现在它是空的并且似乎程序被冻结时。我想增加它,以便我可以用圆形树填充 Jframe。为什么这样做?期待你的回复!谢谢!
解决方案
我发现了这个问题。当我只需要使用 *2 并且修复了整个程序时,我不知道为什么我选择使用数学能力。
推荐阅读
- erlang - 为什么我的 iex 在运行此函数时返回“-C”或“-A”
- python - 通过函数运行文件的内容
- three.js - 单页网站的 WebGL 优化
- swift - 如何使用 Alamofire 请求在我的 tableView 中显示我的数据
- java - 在 Java 中将 UUID 编码为 Base62(不是 Base64)
- ruby-on-rails - 验证不能防止破坏 - Rails 5
- java - 通过污点分析和自定义注释检测 Find Sec Bugs 中的信息泄漏
- python - Python 将 *unknown 格式字符串解析为 json 或 dict
- elasticsearch - 无法在 Ubuntu 上的 kubernetes 集群中访问 Kibana 仪表板服务
- docker - 为 Swarm 安装 Redis docker 镜像集群?