如何在Java中绘制各种形状?我应该使用哪个图书馆?

如何在Java中绘制各种形状?我应该使用哪个图书馆?,java,swing,drawing,shapes,Java,Swing,Drawing,Shapes,我想写一个程序,可以画任何类型的形状,我分配给它喜欢 圈 方格 长方形 我应该使用哪一个库,以及如何在Java中使用它 我是一名python程序员,因此发现很难处理Java 当然可以用Swing来完成。为此,您可能需要查看Java的库 或者,您可以简单地替代组件的绘制方法,如下所示 import javax.swing.*; import java.awt.*; public class ShapeTest extends JFrame{ public ShapeTest(){

我想写一个程序,可以画任何类型的形状,我分配给它喜欢

  • 方格
  • 长方形
  • 我应该使用哪一个库,以及如何在Java中使用它


    我是一名python程序员,因此发现很难处理Java

    当然可以用Swing来完成。为此,您可能需要查看Java的库

    或者,您可以简单地替代组件的绘制方法,如下所示

    import javax.swing.*;
    import java.awt.*;
    
    public class ShapeTest extends JFrame{
         public ShapeTest(){
              setSize(400,400);
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              setLocationRelativeTo(null);
              setVisible(true);
         }
    
         public static void main(String a[]){
             new ShapeTest();
         }
    
         public void paint(Graphics g){
              g.drawOval(40, 40, 60, 60); //FOR CIRCLE
              g.drawRect(80, 30, 200, 200); // FOR SQUARE
              g.drawRect(200, 100, 100, 200); // FOR RECT
         }
    }
    


    API提供了您所需要的功能。

    Java 2D是您绘制图形(即绘制彩色矩形、圆、线和动画)所需要的功能。

    查看一些想法。DrawOnComponent更接近您想要的内容。要将自定义形状对象添加到列表中,需要对其进行更改。

    是一个简单的对象绘制程序示例,该程序具有可移动、可调整大小、由边连接的彩色节点。

    那么哪一个更好?2d api还是形状库?形状库(Java2d)是综合性的。如果您只是想在java中显示或使用绘图,那么重写paint()方法就足够了。如果你能告诉我你的目的,我可以指导你……太好了。我只想要一个框,在其中我将单击复选框中特定类型图像的标记,然后图像将显示。如果我单击reset,它将消失并给我一个黑屏。如果这像您所说的那样简单,那么覆盖paint()方法就足够了。这很直截了当。您必须在复选框中添加一个侦听器,并在paint()方法中写入逻辑,以处理何时执行操作的条件。-1,您永远不应该重写JFrame的paint()方法,尤其是在您不调用super.paint()时。自定义绘制是通过重写像JPanel这样的Swing组件的paintComponent()方法来完成的。您还应该始终调用super.paintComponent()。有关更多信息和示例,请阅读Swing教程中有关自定义绘制()的部分。