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); } }