java 带窗口的 画一颗树

本文介绍了一个使用Java编写的表白小程序,通过Swing框架创建窗口,并利用Awt包绘制爱心图案。程序通过数学公式生成心形曲线,实现了动态的视觉效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package 表白小程序;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;

import javax.swing.JFrame;

public class Like extends JFrame {
//获取屏幕大小
	private static final int WIDTH=500;
	private static final int HEIGHT=500;
	private static int WINDOW_WIDTH=Toolkit.getDefaultToolkit().getScreenSize().width;
	private static int WINDOW_HEIGHT=Toolkit.getDefaultToolkit().getScreenSize().height;
     public Like() {
    	 super("I love you ");//设置窗口标题
    	 this.setBackground(Color.BLACK);
    	 this.setLocation((WINDOW_WIDTH-WIDTH)/2, (WINDOW_HEIGHT-HEIGHT)/2);//设置窗口位置
    	 this.setSize(WIDTH,HEIGHT);//设置窗口大小
    	 this.setLayout(getLayout());//设置窗口布局
    	 this.setVisible(true);//设置窗口可见
    	 this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//设置窗口默认关闭形式
    	 
     }
     public void paint(Graphics g) {
    	 double x,y,r;//横纵坐标及半径
    	 Image image=this.createImage(WIDTH, HEIGHT);
    	 Graphics pic = image.getGraphics();
    	 for (int i=-2;i<90;i++) {
    	 for (int j=-2;j<90;j++) {
    		 r=Math.PI/45+Math.PI/45*i*(1-Math.sin(Math.PI/45*j))*18;
    		 x=r*Math.cos(Math.PI/45*j)*Math.sin(Math.PI/45*i)+WIDTH/2;
    		 y=-r*Math.sin(Math.PI/45*j)+HEIGHT/3;
    		 pic.setColor(Color.MAGENTA);
    		 pic.fillOval((int)x,(int)y,2,2);
    	 }
    	 g.drawImage(image, 0, 0, this);
     }
     }
    public  static void main(String[]args) {
    	new Like();
    }
}

在这里插入图片描述
我们可以一起交流哟
快点关注我呗
在这里插入图片描述

Java窗口中添加形菜单TreeView源代码,分享给JAVA新手的一个例子,JTextField jtfInfo; //文本域,用于显示点击的节点名称   public JTreeDemo(){    super("森林状的关系图"); //调用父类构造函数       DefaultMutableTreeNode root = new DefaultMutableTreeNode("设置"); //生成根节点    DefaultMutableTreeNode node1=new DefaultMutableTreeNode("常规"); //生成节点一    node1.add(new DefaultMutableTreeNode("默认路径")); //增加新节点到节点一上    node1.add(new DefaultMutableTreeNode("保存选项"));    root.add(node1); //增加节点一到根节点上    root.add(new DefaultMutableTreeNode("界面"));    root.add(new DefaultMutableTreeNode("提示声音"));    root.add(new DefaultMutableTreeNode("打印"));       JTree tree = new JTree(root); //得到JTree的实例    DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer)tree.getCellRenderer(); //得到JTree的Renderer    renderer.setLeafIcon(null); //设置叶子节点图标为空    renderer.setClosedIcon(null); //设置关闭节点的图标为空    renderer.setOpenIcon(null); //设置打开节点的图标为空       tree.addTreeSelectionListener(new TreeSelectionListener() { //选择节点的事件处理    public void valueChanged(TreeSelectionEvent evt) {    TreePath path = evt.getPath(); //得到选择路径    String info=path.getLastPathComponent().toString(); //得到选择的节点名称    jtfInfo.setText(info); //在文本域中显示名称    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值