欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

使用java.awt.Graphics2D画圆角矩形,,在java awt中画圆

来源: javaer 分享于  点击 9644 次 点评:91

使用java.awt.Graphics2D画圆角矩形,,在java awt中画圆


在java awt中画圆角矩形和普通矩形相似,都是使用RoundRectangle2D.Float方法,但画圆角矩形时需要添两个额外的参数,如下代码:

    public void paint(Graphics g) {        Graphics2D graphics2 = (Graphics2D) g;        RoundRectangle2D roundedRectangle = new RoundRectangle2D.Float(100, 100, 240, 160, 10, 10);        graphics2.draw(roundedRectangle);     }

RoundRectangle2D.Float() 的六个参数意义说明如下:

前两个指定矩形的左上角的坐标第3,4个指定矩形的宽度和高度最后两个指定圆角弧形的宽度和高度

下面是完整的代码:

import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.geom.RoundRectangle2D;/** * Displays a JFrame and draws a rounded ractangle on it using the Java 2D Graphics API * * @author byrx.net */public class Java2DFrame extends javax.swing.JFrame {    /**     * Creates a new instance of Java2DFrame     */    public Java2DFrame() {        initComponents();    }    /**     * This is the method where the rounded rectangle is drawn.     *     * @param g The graphics object     */    public void paint(Graphics g) {        Graphics2D graphics2 = (Graphics2D) g;        RoundRectangle2D roundedRectangle = new RoundRectangle2D.Float(100, 100, 240, 160, 10, 10);        graphics2.draw(roundedRectangle);    }    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">     private void initComponents() {        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());        getContentPane().setLayout(layout);        layout.setHorizontalGroup(            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)            .add(0, 400, Short.MAX_VALUE)        );        layout.setVerticalGroup(            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)            .add(0, 300, Short.MAX_VALUE)        );        pack();    }// </editor-fold>     /**     * Starts the program     *     * @param args the command line arguments     */    public static void main(String args[]) {        java.awt.EventQueue.invokeLater(new Runnable() {            public void run() {                new Java2DFrame().setVisible(true);            }        });    }}

图示如下:

rectangle

相关栏目:

用户点评