最近又开始学习Java的Swing,感觉在某些方面,对于控件的简单重绘方面,比VC++、C#等微软的要简单一些。学习到给控件绘制一个带圆角的边框时,看到有一个帖子询问如何绘制只有一个圆角的矩形。在Java的API里,我没有找到可以实现该要求的方法,有人提出用drawline的方式,但是感觉过于笨拙,而且无法真正实现圆角,我也就没有深入研究。
没想到最近正好遇到一个需要绘制只有一个圆角的矩形边框的问题,仔细分析了一下网上的一些范例,发现绘制只有一个圆角的矩形边框还是很简单的。
package com.test.myLineBorder;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.border.LineBorder;
public class MyLineBorder extends LineBorder{
public MyLineBorder(Color color, int thickness, boolean roundedCorners) {
super(color, thickness, roundedCorners);
}
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
RenderingHints rh = new Render