Swing圓角邊框的實現

Swing圓角邊框實現

   Swing圓角邊框的實現方法:

package com.justplay.basic;

import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Insets;

import javax.swing.border.Border;

/**
 * Swing
 * 設置圓角邊框(可以自定義邊框的顏色)
 * 可以爲button,文本框等人以組件添加邊框
 * 使用方法:
 * JButton close = new JButton(" 關 閉 ");
 * close.setOpaque(false);// 設置原來按鈕背景透明
 * close.setBorder(new RoundBorder());黑色的圓角邊框
 * close.setBorder(new RoundBorder(Color.RED)); 紅色的圓角邊框
 * 
 * @author Monsoons
 */
public class RoundBorder implements Border {
	private Color color;

	public RoundBorder(Color color) {// 有參數的構造方法
		this.color = color;
	}

	public RoundBorder() {// 無參構造方法
		this.color = Color.BLACK;
		// 如果實例化時,沒有傳值
		// 默認是黑色邊框
	}

	public Insets getBorderInsets(Component c) {
		return new Insets(0, 0, 0, 0);
	}

	public boolean isBorderOpaque() {
		return false;
	}

	// 實現Border(父類)方法
	@Override
	public void paintBorder(Component c, Graphics g, int x, int y, int width,
			int height) {
		g.setColor(color);
		g.drawRoundRect(0, 0, c.getWidth() - 1, c.getHeight() - 1, 15, 15);
	}
}


wKioL1Or_pDyR5OaAAML7eUqUxw519.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章