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

    package jisuan;
    
    import java.awt.Dimension;
    import java.awt.EventQueue;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.geom.Ellipse2D;
    import java.awt.geom.Line2D;
    import java.awt.geom.Rectangle2D;
    import javax.swing.JComponent;
    import javax.swing.JFrame;
    
    public class Drawtest {
    
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
    
                @Override
                public void run() {
                    JFrame frame = new DrawFrame();
                    frame.setTitle("计算器");
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    frame.setVisible(true);
    
                }
            });
        }
    
    }
    class DrawFrame extends JFrame
    {
        /**
         * 创建一个窗口
         */
        private static final long serialVersionUID = 1L;
    
        public DrawFrame() {
            add(new DrawComponent());
            pack();
        }
    }
    class DrawComponent extends JComponent
    {
        /**
         * 画图
         */
        private static final long serialVersionUID = 1L;
        private static final int DEFAULT_WIDTH = 400;
        private static final int DEFAULY_HEIQHT = 400;
        public void paintComponent(Graphics g) {
            Graphics2D g2 = (Graphics2D)g;
    
    
            double leftX = 100;
            double topY = 100;
            double width = 200;
            double height = 150;
    
            //长方形
            Rectangle2D rect = new Rectangle2D.Double(leftX, topY , width , height);
            g2.draw(rect);
    
            //椭圆
            Ellipse2D ellipse = new Ellipse2D.Double();
            ellipse.setFrame(rect);
            g2.draw(ellipse);
    
            //画斜线
            g2.draw(new Line2D.Double(leftX ,topY ,leftX + width, topY + height));
    
    
            //大园
            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, DEFAULY_HEIQHT);
    
        }
    }
  • 相关阅读:
    四叉树空间索引原理及其实现
    深入理解空间搜索算法 ——数百万数据中的瞬时搜索
    空间索引
    Microsoft.Office.Core 引用以及 Microsoft.Office.Core.MsoTriState 的问题
    Visual studio 2017 中的Javascript智能提示与调试
    EasyUI Tooltip 提示框
    java编程中的断言工具类(org.springframework.util.Assert)
    Guava学习笔记:Google Guava 类库简介
    Jquery autocomplete插件
    easyui-textbox
  • 原文地址:https://www.cnblogs.com/lanaiwanqi/p/10445672.html
Copyright © 2011-2022 走看看