CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

在Applet中如何画“虚线”? 急~!!!

楼主6leaf(往事一幕幕_伤心一幕幕)2001-11-14 11:46:37 在 Java / J2SE / 基础类 提问

在Applet中如何画“虚线”?      
  我想画一个坐标系,请指教,有代码的请给代码,谁能帮我解决马上给分~!  
   
  问题点数:100、回复次数:11Top

1 楼6leaf(往事一幕幕_伤心一幕幕)回复于 2001-11-14 11:58:08 得分 0

虽然可以用一定算法通过drawLine实现  
  但我是想知道有没有相关的内部方法。  
   
  如果能提供一个坐标系的源码那就更好了,呵呵  
   
  Top

2 楼skyyoung(路人甲)回复于 2001-11-14 12:01:46 得分 50

FWD:  
   
  Befor   drawing,   set   Stroke   first.   For   example,  
   
  float[]   dash1   =   {10.0f};  
  g.setStroke(new   BasicStroke(1.0f,   BasicStroke.CAP_BUTT,   BasicStroke.JOIN_MITER,   10.0f,   dash1,   0.0f));  
   
  Then,   i   can   draw   a   broken   line.  
  Top

3 楼6leaf(往事一幕幕_伤心一幕幕)回复于 2001-11-14 12:07:58 得分 0

To:skyyoung(路人甲)   
  我不太明白你的意思,可以详细点吗?  
  g.setStroke       好像没有这样的方法吧  
  Top

4 楼skyyoung(路人甲)回复于 2001-11-14 12:14:21 得分 0

java.awt    
  Class   BasicStroke  
  java.lang.Object  
      |  
      +--java.awt.BasicStroke  
   
  All   Implemented   Interfaces:    
  Stroke    
  setStroke  
  public   abstract   void   setStroke(Stroke   s)  
  Sets   the   Stroke   for   the   Graphics2D   context.    
   
  Parameters:  
  s   -   the   Stroke   object   to   be   used   to   stroke   a   Shape   during   the   rendering   process  
  See   Also:  
  BasicStroke,   getStroke()  
  Top

5 楼6leaf(往事一幕幕_伤心一幕幕)回复于 2001-11-14 12:54:05 得分 0

麻烦你写一段代码出来吧,我实在不知道如何使用,现在很急着用的,thx!Top

6 楼6leaf(往事一幕幕_伤心一幕幕)回复于 2001-11-14 14:23:39 得分 0

skyyoung(路人甲) ?Top

7 楼hexiaofeng(java爱好者)回复于 2001-11-14 14:26:57 得分 50

import   java.awt.*;  
  import   java.applet.*;  
  import   javax.swing.*;  
   
  public   class   wer   extends   JApplet  
  {  
   
        public   void   init()  
        {  
              //JButton     jb   =   new   JButton("sdaf");  
              //getContentPane().add(jb);  
        }  
         
  public   void   paint(Graphics   g)  
  {      
        float[]   dash1   =   {10.0f};  
   
        Graphics2D   gw   =   (Graphics2D)g;  
        //gw.setStroke(new   BasicStroke(1.0f,BasicStroke.CAP_ROUND,BasicStroke.JOIN_ROUND));  
        gw.setStroke(new   BasicStroke(1.0f,   BasicStroke.CAP_BUTT,   BasicStroke.JOIN_MITER,   10.0f,   dash1,   0.0f));  
  gw.drawString("Hello   World",   20,   20);  
  gw.drawLine(10,10,200,300);  
  }  
  } Top

8 楼6leaf(往事一幕幕_伤心一幕幕)回复于 2001-11-14 15:38:18 得分 0

To:hexiaofeng(java爱好者)   
  你用到了Java2   的东西吧,你这个程序在JBuilder里是正确的,并能显示出来。  
  但在IE中就不行了,估计是因为Graphics2D是Java2   的扩充,但IE是不支持的。  
   
  而为了兼容IE,做Applet通常是要使用早期的Java类库,请问有没有其它的方法,thanks!  
  Top

9 楼6leaf(往事一幕幕_伤心一幕幕)回复于 2001-11-15 12:22:01 得分 0

????Top

10 楼6leaf(往事一幕幕_伤心一幕幕)回复于 2001-11-16 18:10:27 得分 0

送分啦,有些难度的问题都是没有人回答的,悲哀...Top

11 楼gtlang78()回复于 2001-11-17 01:04:12 得分 0

一个画虚线的函数,s和r分别是实线部分和间隙的长度  
  public   void   drawDottedLine(Graphics   g,   int   x1,   int   y1,   int   x2,   int   y2,   int   s,   int   r)   {  
  double   d   =   Math.sqrt((double)(x1   -   x2)   *   (x1   -   x2)   +   (double)(y1   -   y2)   *   (y1   -   y2));  
  int   x   =   x1,   y   =   y1;  
  int   n   =   0;  
  boolean   f   =   true;  
  do   {  
  int   dx   =   (int)((n   *   (s+r)   +   s   -   1)   *   (x2   -   x1)   /   d   +   x1   +   0.5);  
  int   dy   =   (int)((n   *   (s+r)   +   s   -   1)   *   (y2   -   y1)   /   d   +   y1   +   0.5);  
  if   (Math.abs(dx   -   x1)   >   Math.abs(x2   -   x1))   {  
  dx   =   x2;  
  f   =   false;  
  }  
  if   (Math.abs(dy   -   y1)   >   Math.abs(y2   -   y1))   {  
  dy   =   y2;  
  f   =   false;  
  }  
  g.drawLine(x,   y,   dx,   dy);  
  n++;  
  x   =   (int)(n   *   (s   +   r)   *   (x2   -   x1)   /   d   +   x1   +   0.5);  
  y   =   (int)(n   *   (s   +   r)   *   (y2   -   y1)   /   d   +   y1   +   0.5);  
  }   while(f);  
  }Top

相关问题

  • drawLine画虚线?
  • firework4中怎样画虚线
  • java如何画虚线。
  • JAVA画虚线,谢谢!
  • PhotoShop能画虚线和点划线吗?
  • java 的 Graphics 类怎么画虚线?
  • 怎么样在PICTUREBOX里画虚线??
  • AutoCad 2000怎样画一条虚线
  • 【求助】虚线[宽画笔]画椭圆的算法!
  • 如何在屏幕上画虚线矩形框?在线等候

关键词

  • java2
  • 代码
  • basicstroke
  • 虚线
  • setstroke
  • stroke
  • applet
  • dash
  • gw
  • dy

得分解答快速导航

  • 帖主:6leaf
  • skyyoung
  • hexiaofeng

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo