zoukankan      html  css  js  c++  java
  • java 2D 绘图

    简介

    java 2D绘图

    code

    
    /*
     * @Author: your name
     * @Date: 2020-10-28 21:36:29
     * @LastEditTime: 2020-10-28 21:51:30
     * @LastEditors: Please set LastEditors
     * @Description: In User Settings Edit
     * @FilePath: /java/DrawTest.java
     */
    import java.awt.*;
    import java.awt.geom.*;
    import javax.swing.*;
    
    public class DrawTest {
        public static void main(String[] args) {
            EventQueue.invokeLater(() -> {
                JFrame frame = new DrawFrame();
                frame.setTitle("DrawTest");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setVisible(true);
            });
        }
    }
    
    class DrawFrame extends JFrame {
        public DrawFrame() {
            add(new DrawComponent());
            pack();
        }
    }
    
    class DrawComponent extends JComponent {
        private static final int DEFAULT_WIDTH = 400;
        private static final int DEFAULT_HEIGHT = 400;
    
        public void paintComponent(Graphics g) {
            Graphics2D g2 = (Graphics2D) g;
            // draw a rectangle
            double leftX = 100;
            double topY = 100;
            double width = 200;
            double height = 150;
            Rectangle2D rect = new Rectangle2D.Double(leftX, topY, width, height);
            g2.draw(rect);
    
            // draw the enclosed ellipse
    
            Ellipse2D ellipse = new Ellipse2D.Double();
            ellipse.setFrame(rect);
            g2.draw(ellipse);
    
            // draw a diagonal line
    
            g2.draw(new Line2D.Double(leftX, topY, leftX + width, topY + height)); 
    
            // draw a circle with the same center
    
            double centerX = rect.getCenterX();
            double centerY = rect.getCenterY();
            double radius = 150;
    
            Ellipse2D circle = new Ellipse2D.Double();
            circle.setFrameFromCenter(centerX, centerY, centerX + radius, centerY + radius);
            g2.draw(circle);
        }
    
        public Dimension getPreferredSize() {
            return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT);
        }
    }
    
    

    result

    image

    Hope is a good thing,maybe the best of things,and no good thing ever dies.----------- Andy Dufresne
  • 相关阅读:
    gradle windows上面安装配置
    MYSQL远程登录权限设置(转)
    int(11)最大长度是多少,MySQL中varchar最大长度是多少(转)
    MySql 创建只读账号
    mysqli 操作数据库(转)
    php + mysql 分布式事务(转)
    linux tail命令的使用方法详解(转)
    nginx 服务器重启命令,关闭 (转)
    Linux里如何查找文件内容 (转)
    Percona XtraDB Cluster(转)
  • 原文地址:https://www.cnblogs.com/eat-too-much/p/13893784.html
Copyright © 2011-2022 走看看