JavaFX、连接两个圆

 


package com.example.javafxproject;

import javafx.application.Application;
import javafx.geometry.Point2D;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Line;
import javafx.scene.text.Text;
import javafx.stage.Stage;

import java.security.SecureRandom;

public class TwoCircle extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        Scene scene = new Scene(getPane(), 500, 300);
        primaryStage.setScene(scene);
        primaryStage.setTitle("连接两个圆");
        primaryStage.show();
    }

    /**返回面板*/
    private Pane getPane() {
        Circle circle1 = new Circle(getRandomPoint(), getRandomPoint(), 15);    //圆1
        Circle circle2 = new Circle(getRandomPoint(), getRandomPoint(), 15);    //圆2
        Line line = new Line(circle1.getCenterX(), circle1.getCenterY(), circle2.getCenterX(), circle2.getCenterY());

        circle1.setStyle("-fx-stroke: black; -fx-fill: white;");
        circle2.setStyle("-fx-stroke: black; -fx-fill: white;");

        return new Pane(line, circle1, circle2, new Text(circle1.getCenterX(), circle1.getCenterY(), "1"),
                new Text(circle2.getCenterX(), circle2.getCenterY(), "2"));
    }

    /**返回随机点*/
    private double getRandomPoint() {
        return 10 + new SecureRandom().nextDouble(300 - 10);
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Java的绘图功能,例如 `java.awt.Graphics` 或 `javafx.scene.canvas.GraphicsContext` 等,通过编写代码来绘制爱心形状。 具体实现方式可以使用数学公式,例如使用椭方程来绘制两个,再使用直线方程连接它们形成爱心。 以下是一个简单的例子,使用 `java.awt.Graphics` 绘制爱心: ```java import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; public class HeartShape extends JPanel { private int width = 800; private int height = 800; @Override public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.RED); int x = width / 2; int y = height / 2; int a = 200; int b = 100; // 绘制左边的椭 g.drawOval(x - a, y - b, 2 * a, 2 * b); // 绘制右边的椭 g.drawOval(x - b, y - a, 2 * b, 2 * a); // 连接两个形成爱心 g.drawLine(x, y - b, x, y + b); g.drawLine(x - a, y, x + a, y); } public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(new Dimension(800, 800)); frame.setContentPane(new HeartShape()); frame.setVisible(true); } } ``` ### 回答2: 要用JAVA画一个爱心,可以使用JAVA图形库或者GUI库,比如Java AWT或者JavaFX。 下面是一个使用JavaFX的示例代码: ```java import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.Pane; import javafx.scene.paint.Color; import javafx.scene.shape.Circle; import javafx.scene.shape.Polygon; import javafx.stage.Stage; public class DrawHeart extends Application { @Override public void start(Stage primaryStage) { // 创建一个画布 Pane pane = new Pane(); // 创建一个形对象,作为爱心的左侧部分 Circle circleLeft = new Circle(100, 100, 50); circleLeft.setFill(Color.RED); // 创建一个形对象,作为爱心的右侧部分 Circle circleRight = new Circle(200, 100, 50); circleRight.setFill(Color.RED); // 创建一个多边形对象,作为爱心的底部三角形 Polygon triangle = new Polygon(150, 200, 100, 300, 200, 300); triangle.setFill(Color.RED); // 将爱心的各个部分添加到画布 pane.getChildren().addAll(circleLeft, circleRight, triangle); // 创建一个场景,将画布放入场景 Scene scene = new Scene(pane, 300, 400); // 设置舞台的标题和场景 primaryStage.setTitle("Draw Heart"); primaryStage.setScene(scene); // 显示舞台 primaryStage.show(); } public static void main(String[] args) { launch(args); } } ``` 通过运行这段代码,就可以在窗口绘制出一个爱心。这段代码首先创建一个画布,然后分别创建一个形对象和一个多边形对象,分别表示爱心的左右两半和底部三角形。最后,将这些对象添加到画布,并将画布放入场景进行显示。 ### 回答3: 要用Java画一个爱心,可以使用Java图形图形绘制方法来实现。我们可以使用Java的Graphics类和Graphics2D类来实现。 首先,我们需要创建一个继承自JPanel的类,用于绘制爱心的图形。在这个类,我们需要重写paintComponent方法来实现具体的绘制操作。 绘制爱心的过程可以分为两个步骤。首先,我们需要绘制两个弧,作为爱心的两个半边。然后,我们通过直线和曲线来连接两个弧,形成一个完整的爱心形状。 具体的绘制代码如下: ```java import javax.swing.*; import java.awt.*; public class HeartPanel extends JPanel { @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); int centerX = getWidth() / 2; int centerY = getHeight() / 2; int radius = 100; // 绘制左半边爱心 g2d.setColor(Color.RED); g2d.fillArc(centerX - radius, centerY - radius, radius * 2, radius * 2, 0, 180); g2d.fillArc(centerX, centerY - radius, radius * 2, radius * 2, 0, 180); // 连接两个弧,绘制完整的爱心 g2d.fillRect(centerX - radius, centerY, radius * 2, radius); int[] triangleX = {centerX - radius, centerX, centerX + radius}; int[] triangleY = {centerY + radius, centerY + radius * 2, centerY + radius}; g2d.fillPolygon(triangleX, triangleY, 3); } public static void main(String[] args) { JFrame frame = new JFrame("Heart"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 400); frame.setLocationRelativeTo(null); HeartPanel heartPanel = new HeartPanel(); frame.add(heartPanel); frame.setVisible(true); } } ``` 以上就是用Java绘制爱心的简单实现。要运行此代码,可以将其保存为一个Java文件,然后编译并运行即可看到绘制出来的爱心形状。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值