このことに問題があります: JPanel に破線 (または点線) の境界線を何らかの方法で追加できますか?
私はSOの質問を検索しましたが、これまで誰も質問していないようです。
使用するクラスがあるかどうか疑問に思っています。実際に私は使用しています:
myPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
明らかに、これは標準的な境界線がほとんどない標準的なクラスであり、誰も私にとって役に立ちません。
このことに問題があります: JPanel に破線 (または点線) の境界線を何らかの方法で追加できますか?
私はSOの質問を検索しましたが、これまで誰も質問していないようです。
使用するクラスがあるかどうか疑問に思っています。実際に私は使用しています:
myPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
明らかに、これは標準的な境界線がほとんどない標準的なクラスであり、誰も私にとって役に立ちません。
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);
}
}