估计的画出虚线(实线估计也行),然后根据鼠标按下和抬起的位置,判断里面选中的控件.java不是很熟悉,有现成的例子没?
解决方案 »
- swing中这个组件是什么?见图
- jdk安装失败,至今无解
- 问一下, 现在招行的触摸式ATM取款机 是BS还是CS结构? BS的话 滚动条是怎样实现的?
- ~~toString()函数将int型转换为String类时,怎样设置String的位数?~~
- 谁有jbuilder7.0的sn和key,请贴出来或者给到我的邮箱[email protected],谢谢大家
- 请高手帮忙分析一下这两句代码(关于字符转化)
- package到底怎么用?
- 请教一下苹果上java的URL编码问题
- 如何使JtextArea中能够显示中文信息?来者有分
- 各位 兄弟姐妹们:我们干吗不成立一个java联盟呢,也好相互交流、相互提高啊,欢迎响应
- System.out.println(new Date());问题
- Java在linux系统中输出汉字为方框???
既然是控件 它自己没Mouse事件?
因为需要在鼠标拖拽的时候把原来的线去掉,然后再画新线.java中画虚线要怎么画?如何能把刚才画的虚线去掉呢?
类 Graphics
java.lang.Object
java.awt.GraphicssetXORMode
public abstract void setXORMode(Color c1)将此图形上下文的绘图模式设置为在此图形上下文的当前颜色和新的指定颜色之间交替。这指定了逻辑像素操作以 XOR 模式执行,在此模式中像素在当前颜色和指定的 XOR 颜色之间进行交替。
当执行绘制操作时,当前颜色的像素更改为指定的颜色,反之亦然。 这两种颜色以外的像素以不可预测但可逆的方式更改;如果相同的图形被绘制两次,则所有像素恢复到原始值。
参数:
c1 - XOR 交替颜色
/**
* 画Rect,这个方法要在画布的paint方法中调用.
* @param g
*/
public void paintRect(Graphics g) {
if(rectDash!=null) {
g.setColor(rectColor);
g.drawRect(rectDash.x, rectDash.y, rectDash.width, rectDash.height);
}
}
/**
* 取消上一次画的Rect,这个方法要在画布的paint方法中调用.
* @param g
*/
public void paintRectXor(Graphics g) {
if(rectDash!=null) {
g.setColor(rectColor);
g.setXORMode(g.getColor());
g.drawRect(rectDash.x, rectDash.y, rectDash.width, rectDash.height);
}
}
绘制前设置Stroke
((Graphics)g).setStroke(new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 1, new float[]{5, 5}, 0));
为什么我的没有setStroke这个方法呢?