我遇到了这个问题:在某种程度上,我可以在JPanel中添加虚线(或虚线,无关)边框吗?
我搜索了SO问题,但似乎之前没有人问过这个问题。
我想知道是否有任何课程可供使用。实际上我正在使用:
myPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
显然,这是一个只提供少量标准边框的标准类,没有人对我有用。
答案 0 :(得分:11)
从Java 7开始,您可以使用BorderFactory.createDashedBorder(Paint)
。
在Java 7之前,您必须自己定义此边框。然后你可以使用这个自编边框:
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);
}
}
答案 1 :(得分:5)