码迷,mamicode.com
首页 > Windows程序 > 详细

e575. The Quintessential Drawing Program

时间:2018-09-02 23:55:09      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:oid   otto   glin   define   ring   component   hat   enter   custom   

To draw on the screen, it is first necessary to subclass a JComponent and override its paint() method. The paint() method is automatically called by the windowing system whenever component‘s area needs to be repainted.

The paint() method is supplied a graphics context which is used to draw shapes and images. The coordinate system of a graphics context is such that the origin is at the northwest corner and x-axis increases toward the right while the y-axis increases toward the bottom.

This example defines a component that draws an oval and installs an instance of this component in a frame. See also e586 Drawing Simple Shapes.

    import java.awt.*;
    import javax.swing.*;
    
    public class BasicDraw {
        public static void main(String[] args) {
            new BasicDraw();
        }
        BasicDraw() {
            // Create a frame
            JFrame frame = new JFrame();
    
            // Add a component with a custom paint method
            frame.getContentPane().add(new MyComponent());
    
            // Display the frame
            int frameWidth = 300;
            int frameHeight = 300;
            frame.setSize(frameWidth, frameHeight);
            frame.setVisible(true);
        }
    
        class MyComponent extends JComponent {
            // This method is called whenever the contents needs to be painted
            public void paint(Graphics g) {
                // Retrieve the graphics context; this object is used to paint shapes
                Graphics2D g2d = (Graphics2D)g;
    
                // Draw an oval that fills the window
                int x = 0;
                int y = 0;
                int width = getSize().width-1;
                int height = getSize().height-1;
                g2d.drawOval(x, y, width, height);
            }
        }
    }

 

Related Examples

e575. The Quintessential Drawing Program

标签:oid   otto   glin   define   ring   component   hat   enter   custom   

原文地址:https://www.cnblogs.com/borter/p/9575642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!