概要

破線パターンの配列からBasicStrokeを作成し、これを描画します。

サンプルコード

JLabel label = new JLabel() {
  private BasicStroke dashedStroke;
  @Override protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    if (dashedStroke == null) {
      dashedStroke = new BasicStroke(
          5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10f,
          getDashArray(), 0f);
    }
    Insets i = getInsets();
    int w = getWidth();
    int h = getHeight() / 2;
    Graphics2D g2 = (Graphics2D) g.create();
    g2.setStroke(dashedStroke);
    g2.drawLine(i.left, h, w - i.right, h);
    g2.dispose();
  }
};
View in GitHub: Java, Kotlin

解説

上記のサンプルでは、BasicStrokeの破線属性を指定して点線をコンポーネント内に描画しています。

  • 破線のパターンはJTextFieldにカンマ区切りで記入した数値を配列に分解し、これをBasicStrokeに渡して作成

参考リンク

コメント