curvedborder.java
来自「java swing 开发代码」· Java 代码 · 共 47 行
JAVA
47 行
// CurvedBorder.java// A custom border that draws round rectangle borders.//package jswing.ch13;import java.awt.*;import javax.swing.border.*;public class CurvedBorder extends AbstractBorder{ private Color wallColor = Color.gray; private int sinkLevel = 10; public CurvedBorder() { } public CurvedBorder(int sinkLevel) { this.sinkLevel = sinkLevel; } public CurvedBorder(Color wall) { this.wallColor = wall; } public CurvedBorder(int sinkLevel, Color wall) { this.sinkLevel = sinkLevel; this.wallColor = wall; } public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { g.setColor(getWallColor()); // Paint a tall wall around the component for (int i = 0; i < sinkLevel; i++) { g.drawRoundRect(x+i, y+i, w-i-1, h-i-1, sinkLevel-i, sinkLevel); g.drawRoundRect(x+i, y+i, w-i-1, h-i-1, sinkLevel, sinkLevel-i); g.drawRoundRect(x+i, y, w-i-1, h-1, sinkLevel-i, sinkLevel); g.drawRoundRect(x, y+i, w-1, h-i-1, sinkLevel, sinkLevel-i); } } public Insets getBorderInsets(Component c) { return new Insets(sinkLevel, sinkLevel, sinkLevel, sinkLevel); } public Insets getBorderInsets(Component c, Insets i) { i.left = i.right = i.bottom = i.top = sinkLevel; return i; } public boolean isBorderOpaque() { return true; } public int getSinkLevel() { return sinkLevel; } public Color getWallColor() { return wallColor; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?