用过JAVA WEB START中Draw演示程序的大侠请进(100分)

  • 主题发起人 主题发起人 Bill_Liyi
  • 开始时间 开始时间
B

Bill_Liyi

Unregistered / Unconfirmed
GUEST, unregistred user!
不知道你们有没有发现,在Draw程序中选择某个文字对象时,如那个大写的R,
只用选中R中有字体覆盖的部分时才能选中它,如点击R中的空白位置居然不能
选中这个文字对象.真奇怪.
那位大侠能分析一下实现原理吗?
 
嘿嘿 没见过 那里有的下载 看看
 
装完JRE就有了
 
???????????????
 
下面两端代码,你可以参考以下,使用类似Path这样的概念来进行鼠标落点判断。
private void updateSelection() {
Canvas c;
List l;
c = getLayer().getCanvas();
l = c.getGraphicsIntersecting(getBounds());
if (l.contains(this) == false) {
l.add(this);
}
c.setSelectedGraphics(l);
}
public boolean intersects(java.awt.Rectangle r1) {
Rectangle r2;
do
uble d3;
do
uble d4;
do
uble d5;
do
uble d6;
int i7;
int i8;
Shape s9;
if (intersects(r1)) {
if (isSelected()) {
return true;
}
updateOutlinesIfNecessary();
r2 = getShape().getBounds();
d3 = ((double) r1.x) - ((double) r2.x);
d4 = (((double) r1.y) - ((double) r2.y)) - ((double) ascent);
d5 = (double) r1.width;
d6 = (double) r1.height;
i7 = 0;
i8 = outlines.size();
while (i7 < i8) {
s9 = (java.awt.Shape) outlines.get(i7);
if ((s9 != null) &amp;&amp;
(s9.intersects(d3, d4, d5, d6))) {
return true;
}
d4 = d4 - ((double) ((ascent + descent) + leading));
i7++;
}
return false;
}
return false;
}
 
后退
顶部