java 填充方式_java Swing 体验fill方法填充颜色

本文介绍如何在Java Swing中使用fill方法填充颜色。通过创建一个`DrawPanel`类,重写`paintComponent`方法,利用`Graphics2D`对象填充矩形、椭圆,并绘制直线和圆形,展示了不同形状的填充效果。
摘要由CSDN通过智能技术生成

package swing;

import java.awt.Color; 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.JFrame; import javax.swing.JPanel;

/**  * 体验fill方法填充颜色  * @param args  */ public class FillTest extends JFrame {

public static final int DEFAULT_WIDTH=400;  public static final int DEFAULT_HEIGHT=400;    //main方法  public static void main(String[] args) {      FillTest fillTest =new FillTest();   fillTest.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   fillTest.setVisible(true);  }  //构造器  public FillTest()  {   setTitle("Fill Test");   setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);      //add panel to frame   DrawPanel panel=new DrawPanel();   add(panel);  }

//私有类定义所加panel的特性  private class DrawPanel extends JPanel  {   //overrides javax.swing.JComponent.paintComponent   public void paintComponent(Graphics g)   {    //让超类完成自己的工作    super.paintComponent(g);        Graphics2D g2=(Graphics2D)g;        //draw a rectangle    double leftX=100;    double topY=100;    double width=200;    double height=150;        Rectangle2D rect=new Rectangle2D.Double(leftX,topY,leftX+width,topY+height);    g2.setPaint(Color.RED);    g2.fill(rect);        //draw the closed Ellipse    Ellipse2D ellipse=new Ellipse2D.Double();    ellipse.setFrame(rect);    g2.setPaint(new Color(0,128,128));    g2.fill(ellipse);            //draw a diagonal line    g2.draw(new Line2D.Double(leftX,topY,leftX+width,topY+height));        //draw the circle with the same center    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);       }  }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值