zoukankan      html  css  js  c++  java
  • e575. The Quintessential Drawing Program

    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
  • 相关阅读:
    svn服务器安装
    flex 协同
    大尾端 小尾端
    UNIX下c语言的图形编程curses.h 函式库(2)
    vs2005设置
    client 连接 host —— 虚拟机
    fedora 连网问题。。
    pv ip uv
    checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool
    UNIX下c语言的图形编程curses.h 函式库
  • 原文地址:https://www.cnblogs.com/borter/p/9575642.html
Copyright © 2011-2022 走看看