| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2212 人关注过本帖
标题:[求助]怎样画任意形状的弧线?
只看楼主 加入收藏
xuyijin
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2006-4-13
收藏
 问题点数:0 回复次数:8 
[求助]怎样画任意形状的弧线?
如: Arc2D arc = new Arc2D.Double(point.x, point.y, w, h,0,270,Arc2D.PIE);
我想让终止的角度随鼠标的拖动而随时改变,应该怎样实现?
搜索更多相关主题的帖子: 弧线 形状 
2006-06-18 16:07
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
把两个鼠标的坐标连线组成的角度计算出来就可以了
做为参数传入
这个时候,必须设定一点为原点,否则的话,就不现实了

可惜不是你,陪我到最后
2006-06-18 18:37
xuyijin
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2006-4-13
收藏
得分:0 

能具体一点吗?
我想了很久还是不能实现!谢谢了!


初学java,希望各位大虾多多指教!!
2006-06-19 13:17
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
先用鼠标点一下,作为中心,然后用鼠标拖动就可以了

可惜不是你,陪我到最后
2006-06-19 13:28
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
非的用 Arc2D么?
用鼠标作个画笔 岂不是画什么都行?

when i want to ask anyone,i will ask myself first.
2006-06-19 14:55
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
楼上不鸣则已,一鸣惊人

可惜不是你,陪我到最后
2006-06-19 14:56
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 

when i want to ask anyone,i will ask myself first.
2006-06-19 15:00
xuyijin
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2006-4-13
收藏
得分:0 
以下是引用aiyuheng在2006-6-19 14:55:08的发言:
非的用 Arc2D么?
用鼠标作个画笔 岂不是画什么都行?

首先谢谢这位仁兄的指点!
小弟是在模拟window的画板编写程序的,所以自由作画小弟已经实现了,只是想有一个画弧的功能!


初学java,希望各位大虾多多指教!!
2006-06-19 16:38
private
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-5-1
收藏
得分:0 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.geom.*;
class MyPanel extends JPanel{
private int x1,y1,x2,y2;

public MyPanel()
{
addMouseListener(
new MouseAdapter()
{
public void mousePressed( MouseEvent event )
{
x1=event.getX();
y1=event.getY();
}
public void mouseReleased( MouseEvent event )
{
x2=event.getX();
y2=event.getY();
repaint();
}
}
);
addMouseMotionListener(
new MouseMotionAdapter()
{
public void mouseDragged( MouseEvent event )
{
x2=event.getX();
y2=event.getY();
repaint();
}
}
);
}
public Dimension getPreferredSize()
{
return new Dimension( 800,600 );
}
public void paintComponent( Graphics g )
{
super.paintComponent( g );
Graphics2D g2d = (Graphics2D )g;
g2d.draw( new Arc2D.Double(Math.min(x1,x2),Math.min(y1,y2),
Math.abs(x1-x2),Math.abs(y1-y2),0,270,Arc2D.PIE));
}
}
public class TestMyPanel extends JFrame{
private MyPanel myPanel;
public TestMyPanel()
{
myPanel = new MyPanel();
myPanel.setBackground( Color.YELLOW );

Container container= getContentPane();
container.setLayout( new FlowLayout() );
container.add( myPanel );

setSize( 800,600 );
setVisible( true );
}
public static void main( String args[] )
{
TestMyPanel test= new TestMyPanel();
test.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
}

2006-06-20 21:02
快速回复:[求助]怎样画任意形状的弧线?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034057 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved