Java_Graphics2D_Test

  1. import java.awt.*;
  2. import java.awt.geom.*;
  3. import java.awt.event.*;
  4. import javax.swing.*;
  5. public class DrawTest
  6. {
  7.     public static void main(String[] args)
  8.     {
  9.         DrawFrame aFrame = new DrawFrame();
  10.         aFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  11.         aFrame.setVisible(true);
  12.     }
  13. }
  14. class DrawFrame extends JFrame
  15. {
  16.     public DrawFrame()
  17.     {
  18.         Toolkit t = Toolkit.getDefaultToolkit();
  19.         Dimension d = t.getScreenSize();
  20.         
  21.         int screenWidth = (int)d.getWidth();
  22.         int screenHeight = (int)d.getHeight();
  23.         
  24.         String imgPath = ".//img//img.jpg";
  25.         Image img = t.getImage(imgPath);
  26.         
  27.         setIconImage(img);
  28.         setSize(screenWidth/2,screenHeight/2);
  29.         setLocation(screenWidth/4,screenHeight/4);
  30.         
  31.         DrawPanel aPane =new DrawPanel();
  32.         Container contentPane = getContentPane();
  33.         contentPane.add(aPane);
  34.             
  35.     }
  36. }
  37. class DrawPanel extends JPanel
  38. {
  39.     public void paintComponent(Graphics g)
  40.     {
  41.         Graphics2D g2 = (Graphics2D)g;
  42.         
  43.         double leftX = 100;
  44.         double topY = 100;
  45.         double width = 200;
  46.         double height = 150;
  47.         
  48.         Rectangle2D rect = new Rectangle2D.Double(leftX,topY,width,height);
  49.         g2.draw(rect);
  50.         
  51.         Ellipse2D ellipse = new Ellipse2D.Double();
  52.         ellipse.setFrame(rect);
  53.         g2.draw(ellipse);
  54.         
  55.         g2.draw(new Line2D.Double(leftX,topY,leftX+width,topY+height));
  56.         
  57.         double radius = 150;
  58.         double centerX = rect.getCenterX();
  59.         double centerY = rect.getCenterY();
  60.         double cornerX = centerX + radius;
  61.         double cornerY = centerY + radius;
  62.         Ellipse2D circle = new Ellipse2D.Double();
  63.         circle.setFrameFromCenter(centerX,centerY,cornerX,cornerY);
  64.         g2.draw(circle);
  65.     }
  66. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值