怎么画自定义形状的控件 我想用swing画自定义的控件,如我现在的问题是:1、怎么画出这种形状2、怎么让其大小可变(怎么控制其大小的改变)3、怎么单独对线两端的小圆圈设置监听,让鼠标移动到原点上时可以拖动该线的位置谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想重写paintComponent()来改变控件的形状,可我只会用基本形状的函数,像方形、圆形等,就是不知道怎么画出个菱形后再在两边加上直线,而且该直线还可被鼠标拖动后改变长度,方向等 不用的,paintComponent()是标准包里的,画图的函数应该够用了,问题是怎么将菱形跟直线连到一块 通过坐标来将线和菱形连起来,也就是线的终点开始绘制菱形,绘制完后菱形的右边顶点为线的起点,可以在直线和菱形的交点处绘制一个圆,通过判断当前鼠标所在位置来确定是否可以移动线及菱形,如果用户按下鼠标时,鼠标的坐标在圆的范围内(x<圆点x-半径&&x>圆点x加半径,y<圆点y-半径&&y<圆点y+半径,也可以用awt中判断点是否在图形内的函数进行判断),用户进行拖拽时,可以实时计算鼠标位移并repaint(),也可以等用户释放鼠标按钮时再repaint,建议将菱形及线都抽象为对象,内部包含根据属性绘制自身的相关函数,到时候只要更改下其坐标己长度就可以了 意思就是将线跟菱形分开处理喽,画图是不是只用GRAPHICS2D,不用什么控件啊?如果是用GRAPHICS2D的话,怎么给画出来的东西添加监听? 点,线和棱形,可以是3个不同的JComponent,通过引用联系起来。在组件的paintComponent()中画出你想要的形状。当一个组件移动时,调用关联组件的setBounds()方法改变位置和形状。布局采用null。有兴趣可以重载JComponent的public boolean contains(int x , int y)方法。 通过继承JPanel,覆盖其paintComponet方法,在该方法内绘制你要绘制的东西,可以给该JPanel添加MouseListner(鼠标进入、离开、按下、释放)及MouseMontionListner(鼠标拖拽及移动)在对于的事件相应方法中实现你要实现的移动事件并repaint,注意按下及释放于拖拽之间的事件关系 我已经实现了,重载了paintComponent()、paintBorder()及contains(),谢谢大家! Java编写界面 菜鸟提问,弹出菜单怎么显示的啊 关于java里面的回压字符流问题 各位高手帮帮忙 java文件监控问题 Java 如何将一个字节数组转换成一个对象? 适合用于算法的练习的java开发工具 java的异常处理 String s = "a" + "b" + "c" 到底创建了几个对象? 关于排列组合的问题 setLookAndFeel如何设置它的参数 求论坛大神帮帮我吧,三天了,一点进展都木有
在组件的paintComponent()中画出你想要的形状。
当一个组件移动时,调用关联组件的setBounds()方法改变位置和形状。布局采用null。
有兴趣可以重载JComponent的public boolean contains(int x , int y)方法。