Starting with Java 7, you can use BorderFactory.createDashedBorder(Paint) .
Before Java 7, you must define this boundary yourself. Then you can use this self-written border:
private class DashedBorder extends AbstractBorder { @Override public void paintBorder(Component comp, Graphics g, int x, int y, int w, int h) { Graphics2D gg = (Graphics2D) g; gg.setColor(Color.GRAY); gg.setStroke(new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 0, new float[]{1}, 0)); gg.drawRect(x, y, w - 1, h - 1); } }
source share