没事瞎玩一下

2024-06-21 18:58
文章标签 没事 一下

本文主要是介绍没事瞎玩一下,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大晚上睡前玩一下,写个小程序。。。哈哈,代码如下:

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;import javax.swing.JFrame;
import javax.swing.JPanel;/*** 画出一颗蒲公英。。。。* @author LONG**/
public class TheTree extends JFrame {private static final long serialVersionUID = 1L;private Dimension di = null;private Graphics2D gr = null;/*** 程序主入口* @param args*/public static void main(String[] args){TheTree tt = new TheTree();tt.showFrame();}public void showFrame(){this.setTitle("The Tree");Toolkit tl = Toolkit.getDefaultToolkit();di = tl.getScreenSize();this.setSize(di.width,di.height);this.setDefaultCloseOperation(3);JPanel jp = new JPanel();jp.setPreferredSize(new Dimension(di.width,di.height));this.add(jp);this.setResizable(false);jp.setBackground(Color.BLACK);this.setVisible(true);gr = (Graphics2D) jp.getGraphics();jp.addMouseListener(new MouseAdapter(){public void mouseReleased(MouseEvent e){draw(e);}});	}public void draw(MouseEvent e){int x = e.getX();	//自己选择蒲公英生长的位置int y = e.getY();BasicStroke bs = new BasicStroke(4);gr.setStroke(bs);gr.setColor(Color.GREEN);gr.drawLine(x, y, x, y - 400);	//用来先画出蒲公英的主干doSomething(x,y - 400,150);}/***那我们来画蒲公英吧* * @param x1	起始点x坐标* @param y1	起始点y坐标* @param h		长度h*/public void doSomething(int x1, int y1, int h){//使循环将所有的蒲公英分支画出来for(int i = 0; i < 90; i++){double angle = i * 2 * Math.PI/90;		//得到等分的九十个角int x2 = x1 + (int)(Math.sin(angle) * h);int y2 = y1 - (int)(Math.cos(angle) * h);BasicStroke bs_next = new BasicStroke();gr.setStroke(bs_next);gr.setColor(Color.gray);gr.drawLine(x1, y1, x2, y2);gr.setColor(Color.WHITE);gr.fillOval(x2 - 1, y2 - 1, 5, 5);}}
}

 

这篇关于没事瞎玩一下的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1082059

相关文章

体验了一下AI生产3D模型有感

我的实验路子是想试试能不能帮我建一下实物模型 SO 我选择了一个成都环球中心的网图 但是生成的结果掺不忍睹,但是看demo来看,似乎如果你能给出一张干净的提示图片,他还是能做出一些东西的 这里我延申的思考是这个物体他如果没看过背面,他怎么猜? 他产出的物品为啥都是一张图的,我还是不太理解 但是如果多张图片,其实又和一个多图3D重建的能力似乎重复了 或者我感觉这个功能需求两张图片 正上面45

折腾了一下,让博客访问速度变快了

最近一直在写笔记,而没有更新系统性的内容,所以也很久没有打开自己的博客(xuzhougeng.top),最近打算更新一篇笔记的时候,发现博客居然打不开了。 我查了查原因,发现有两方面的问题 我使用halo建站,服务器地理位置不太好我用的halo主题太笨重了,需要加载太多的css 找到问题之后,就很好解决了。 我首先迁移了博客,发现访问速度并没有明显提升。接着,我通过浏览器的开发者工具,检查哪些内

全面分析一下前端框架Angular的来龙去脉,分析angular的技术要点和难点,以及详细的语法和使用规则,底层原理-小白进阶之路

Angular 前端框架全面分析 Angular 是一个由 Google 维护的开源前端框架。它最早在 2010 年发布,最初版本称为 AngularJS。2016 年,团队发布了一个完全重写的版本,称为 Angular 2,之后的版本(如 Angular 4、Angular 5 等)都统称为 Angular。 一、历史背景 1. AngularJS(Angular 1.x) 发布年份:2

【Vue3组件】分享一下自己写的简约风格评论区组件

代码比较简单,方便大家二次开发,旨在快速提供基础的样式模板,自行迭代定制 预览 简介 通用评论组件 组件功能 此组件旨在创建一个具备嵌套回复能力的通用评论区域,适用于构建动态、互动性强的用户讨论场景。 接收数据结构 组件通过 Props 接收数据,数据模型设计详细描述了评论及其嵌套回复的所有必要信息。@property {Array<Comment>} data - 评论

iOS Runloop面试题(讲一下 Observer ?)

讲一下 Observer ? typedef CF_OPTIONS(CFOptionFlags, CFRunLoopActivity) {kCFRunLoopEntry = (1UL << 0), // 即将进入LoopkCFRunLoopBeforeTimers = (1UL << 1), // 即将处理 TimerkCFRunLoopBeforeSources = (1UL

阐述一下Golang中defer的原理

基本用法 在Go语言中,defer关键字用于在函数返回前执行一段代码或调用一个清理函数。这对于处理文件关闭、解锁或者返回一些资源到资源池等操作非常有用。 其基本用法如下所示: package mainimport "fmt"func main() {example()}func example() {defer fmt.Println("world")fmt.Println("hello"

Java中的反射(四)总结一下

本文为反射的基础知识部分。   能够分析类能力的程序被称为反射(reflective)。   反射机制允许程序在运行时取得任何一个已知名称的class的内部信息,容许程序在运行时加载、探知、使用编译期间未知的class。即Java的反射机制可以加载一个运行时才得知名称的class,获得其完整结构。   一.Class类   在程序运行期间,Java运行时系统始终为所有的对象维护一

FastJson简单记录一下操作使用

1.项目依赖配置: <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.29</version></dependency> 2.简单demo举例、代码如下 package com.xieli.test;import com.alibaba.fastjson.JSON;

简单记录一下-二维码生成和解析工具类

1.pom.xml配置添加依赖 <dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.2.1</version></dependency><dependency><groupId>com.google.zxing</groupId><artifactId>javase</a

非常容易理解的KMP字符串匹配算法转载过来记录一下

https://www.cnblogs.com/maybe2030/p/4633153.html 写的非常明白,留个记录,需要的可以直接进去看 代码记录,getNext就是算那个“部分匹配值”编码的序列,也就是该文中的这个图 查询的直接可以根据这个编码进行跳跃式的查询减少多余匹配的消耗,移动位数 = 已匹配的字符数 - 对应的部分匹配值,下面对应代码记录下“部分匹配值”的计算过程:搜索词是