TITLE:BasicStrokeで点線を作成

BasicStrokeで点線を作成

編集者:Terai Atsuhiro~

作成日:2004-10-04
更新日:2021-10-27 (水) 00:02:51
  • category: swing folder: DashedLine title: BasicStrokeで点線を作成 tags: [BasicStroke, Graphics2D] author: aterai pubdate: 2004-10-04T03:54:35+09:00 description: 破線パターンの配列からBasicStrokeを作成し、これを描画します。 image: https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTKaxPM12I/AAAAAAAAAV8/ZQON-woHuIg/s800/DashedLine.png

概要

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

概要

点線・破線を描画します。

#screenshot

サンプルコード

#spanend
 JLabel label = new JLabel() {
   BasicStroke dashed2 = new BasicStroke();
   public void paintComponent(Graphics g) {
     Graphics2D g2 = (Graphics2D)g;
     super.paintComponent(g2);
     if(flag) dashed2 = new BasicStroke(1.0f, BasicStroke.CAP_BUTT,
                   BasicStroke.JOIN_MITER, 10.0f, getDashArray(), 0.0f);
     flag = false;
     g2.setStroke(dashed2);
     g2.drawLine(5, getHeight()/2, getWidth()-10, getHeight()/2);
   }
 };
#spanadd
* サンプルコード [#sourcecode]
#spanend
#spanadd
#code(link){{
#spanend
#spanadd
JLabel label = new JLabel() {
#spanend
  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();
  }
#spanadd
};
#spanend
  • &jnlp;
  • &jar;
  • &zip;

解説

BasicStrokeの破線属性を指定して点線を描画します。

解説

上記のサンプルでは、BasicStrokeの破線属性を指定して点線をコンポーネント内に描画しています。 上記のサンプルでは、カンマ区切りで記入した数値を配列に分解し、これを破線のパターンとしてBasicStrokeに渡しています。
  • 破線のパターンはJTextFieldにカンマ区切りで記入した数値を配列に分解し、これをBasicStrokeに渡して作成

参考リンク

参考リンク

コメント

コメント