java图像界面开发简单实例

 Graphics2D、Rectangle2D、Ellipse2D、Line2D的简单应用,原理为创建相应的图形对象,并设置图形的大小及相关设置,通过Graphics2D对象的draw方法将图形对象保存与JPanel面板中,通过Graphics2D对象的setPaint(setColor)方法可以设置相应的填充颜色

import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
/**
 *@version 1.0 2011-10-20
 *@author Yanghai
 */
public class DrawFillTest
{
      public static void main(String [] args)
      {
           EventQueue.invokeLater(new Runnable()
           {
                 public void run()
                 {
                      DrawFillFrame frame=new DrawFillFrame();
                      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                      frame.setVisible(true);
                  }
            });

      }
}

class DrawFillFrame extends JFrame
{
      public DrawFillFrame()
      {
            setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
            setTitle("DrawFillTest");
            DrawFillComponent component=new DrawFillComponent(); 
            add(component);//将panel添加到frame中
      }
 public final int DEFAULT_WIDTH=400;
 public final int DEFAULT_HEIGHT=400;
}

class DrawFillComponent extends JComponent
{
     public void paintComponent(Graphics g)
     {
          Graphics2D g2=(Graphics2D) g;//将Graphics对象转换为Graphics2D对象

           double leftX=100;
          double topY=100;
          double width=200;
          double heigth=150;
          /*
          int leftX=100;
          int topY=100;
          int width=200;
          int heigth=150;
          Rectangle rect=new Rectangle.Double(leftX,topY,width,heigth);
          g2.drawRect(rect);
          */
          Rectangle2D rect=new Rectangle2D.Double(leftX,topY,width,heigth);
          g2.draw(rect); 
          g2.setColor(Color.green);
          g2.fillRect((int)leftX,(int)topY,(int)width,(int)heigth);
          //g2.drawArc((int)leftX,(int)topY,(int)width,(int)heigth,0,180);
          //g2.drawOval((int)leftX,(int)topY,(int)width,(int)heigth);
          Ellipse2D ellipse=new Ellipse2D.Double();
          ellipse.setFrame(rect);
          g2.draw(ellipse);
          g2.setPaint(Color.red);
          g2.fillOval((int)leftX,(int)topY,(int)width,(int)heigth);

          Line2D line=new Line2D.Double(leftX,topY,leftX+width,topY+heigth);
          g2.draw(line);    

          double centerX=rect.getCenterX();//定义圆心坐标
            double centerY=rect.getCenterY();
          int r=150;

          Ellipse2D circle=new Ellipse2D.Double();
          circle.setFrameFromCenter(centerX,centerY,centerX+r,centerY+r); 
          //设置圆形的绘制框架(4个参数表示中心点坐标和角点坐标)
           g2.draw(circle);
     
          g2.setColor(new Color(0,128,128));
          g2.fillArc((int)centerX-r,(int)centerY-r,300,300,0,90);
     }
}

此段代码主要练习了如何构建矩形、椭圆、圆、直线以及相应的填充图形的一些知识。
编译效果如下:

java图像界面开发简单实例_第1张图片

你可能感兴趣的:(java,String,Class,import,图形,jcomponent)