50分求解一个很小白的问题,在线等待,马上给分

tengfeng05 2010-05-25 09:03:21

以下是程序段,我实在找不出哪里出了错,编译老是提示找不到符号,
import java.awt.*;
import javax.swing.*;

public class testpoint
{
static JButton button;


testpoint()
{
JFrame jframe=new JFrame();
button=new JButton();
jframe.getContentPane().add(button);
jframe.setSize(200,200);
button.setSize(50,50);
jframe.setVisible(true);
}
public static void main(String[] args)
{
Point p=button.getLocationOnScreen();
p=new Point(p.x+1,p.y+1);
Dimension d=new Dimension(50,50);
Rectangle rec=new Rectangle(p,d);
System.out.println(rec.x+","+rec.y+","+rec.height+","+rec.width);
}
}


提示
不兼容的类型 Point p=button.getLocationOnScreen();


找不到符号!

构造函数Point(int x,int y)

构造函数Rectangle(Point,java,awt,Dimension)
...全文
456 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
欢乐极客 2010-05-28
  • 打赏
  • 举报
回复
我靠。。。此贴居然还没有人结贴。
neozhengx 2010-05-27
  • 打赏
  • 举报
回复
》》我这段函数只是从我的另外代码中抄过来的《《----复制过来的?
可能复制的时候编码出问题,重新打一遍就OK
  • 打赏
  • 举报
回复
不明白,不兼容类型,楼主去看下button.getLocationOnScreen();返回类型!
「已注销」 2010-05-26
  • 打赏
  • 举报
回复
是不是楼主自己定义了一个Point类?
与java.awt.Point冲突了
line_us 2010-05-26
  • 打赏
  • 举报
回复
根据目前情况判断,楼主的问题基本上不会发生
tengfeng05 2010-05-26
  • 打赏
  • 举报
回复
没人回答我问题了吗????????
tengfeng05 2010-05-26
  • 打赏
  • 举报
回复
D:\javapro\java -vesion
java vesion "1.6.0_17"
java(TM) SE Runtime Environment (build 1.6.0_17-b04)
java HostSpot(TM) Client VM(build 14.3-b01,mixed mode,sharing)

版本信息如上,是最新的,没有有问题啊!
truediego 2010-05-26
  • 打赏
  • 举报
回复
D:\workspace\Test4Swing\src\to\shin\sai>c:\Java\jdk1.6.0_16\bin\javac.exe testpoint.java

D:\workspace\Test4Swing\src\to\shin\sai>

我这边还是没出错,看看你的java版本吧,或许是环境问题
再不行就编译的时候把库加上

wj63558595 2010-05-26
  • 打赏
  • 举报
回复
楼主用的jdk哪个版本啊?你输入下java -version看,吧结果贴出来
tengfeng05 2010-05-26
  • 打赏
  • 举报
回复
D:\javapro>javac testpoint.java
testpoint.java:19: 不兼容的类型
找到: java.awt.Point
需要: Point
p=button.getLocationOnScreen();
^
testpoint.java:20: 找不到符号
符号: 构造函数 Point(int,int)
位置: 类 Point
p=new Point(p.x+1,p.y+1);
^
testpoint.java:22: 找不到符号
符号: 构造函数 Rectangle(Point,java.awt.Dimension)
位置: 类 java.awt.Rectangle
Rectangle rec=new Rectangle(p,d);
^
3 错误
tengfeng05 2010-05-26
  • 打赏
  • 举报
回复
tengfeng05 2010-05-26
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 truediego 的回复:]
我这边除了找不到addnetuserpanel和gamecontrol的定义,就没别的错了啊
你写的测试程序也是可以跑的
[/Quote]是吗?我这边测试程序不能跑啊!总是提示找不到符号!我的JDK是1.6的,不应该是API过旧的问题,那会是上面问题呢?
yueguangkai001 2010-05-26
  • 打赏
  • 举报
回复
错误 贴出来,不要光说,根据你最后提供的代码我这边是跑通了的
truediego 2010-05-26
  • 打赏
  • 举报
回复
我这边除了找不到addnetuserpanel和gamecontrol的定义,就没别的错了啊
你写的测试程序也是可以跑的
tengfeng05 2010-05-26
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 wj63558595 的回复:]
初学者都是这种错误,正常!!
楼主以后出现问题先自己调试,尤其是空指针的问题。。。这是最好找也是最多的问题。
[/Quote]没有nullpointexception问题!编译提示三个错误,不兼容的类型!找不到符号!找不到符号!
wj63558595 2010-05-26
  • 打赏
  • 举报
回复
初学者都是这种错误,正常!!
楼主以后出现问题先自己调试,尤其是空指针的问题。。。这是最好找也是最多的问题。
yang12345kun 2010-05-26
  • 打赏
  • 举报
回复
这个错误好深刻。。。。
jiankunww 2010-05-26
  • 打赏
  • 举报
回复
顶一下 。。。。。。。。。。。。。
tengfeng05 2010-05-26
  • 打赏
  • 举报
回复
这是出问题的程序段
/*图像采集发送线程*/
class imagecapture extends Thread
{
BufferedImage image;
Rectangle rec;
Dimension dimension;
Robot robot=new Robot();
static byte imagedata[];
DatagramPacket datapack;
Point p;
DatagramSocket senddatapack;
ByteArrayOutputStream capturestream;
InetAddress address;
/*构造方法*/
imagecapture()
{
dimension=new Dimension(300,500);
address=InetAddress.getByName(addnetuserpanel.IPtextfield.getText());
capturestream=new ByteArrayOutputStream();
}
public void run()
{
while(gamecontrol.gamestate!=0)
{
p=jframe.gamecanvas1.getLocationOnScreen();
p=new Point(p.x+1,p.y+1);
rec=new Rectangle(p,dimension);
try{
image=robot.createScreenCapture(rec);
ImageIO.write(image,"gif",capturestream);
imagedata=capturestream.toByteArray();
datapack=new DatagramPacket(imagedata,imagedata.length,address,1988);
senddatapack=new DatagramSocket(1988);
senddatapack.send(datapack);
}catch(IOException e){}
try{
sleep(gamecontrol.time);
}catch(InterruptedException e){}
imagedata=null;
}
}


}

下面的代码,也就是上面贴的代码是我为了找出错误,单独写的测试程序。
import java.awt.*;
import javax.swing.*;
public class testpoint
{
static JButton button;

testpoint()
{
JFrame jframe=new JFrame();
button=new JButton();
jframe.getContentPane().add(button);
jframe.setSize(200,200);
button.setSize(50,50);
jframe.setVisible(true);
}
public static void main(String[] args)
{
testpoint test=new testpoint();
Point p=new Point();
p=button.getLocationOnScreen();
p=new Point(p.x+1,p.y+1);
Dimension d=new Dimension(50,50);
Rectangle rec=new Rectangle(p,d);
System.out.println(rec.x+","+rec.y+","+rec.height+","+rec.width);
}
}

truediego 2010-05-26
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 tengfeng05 的回复:]
迪亚,我认识你!上次是你给我解决问题的是不?!
包没引错,一开始我是直接导入整个awt包,编译不过,我又改为引入程序中用到的类,还是不行[/Quote]
呵呵
那建议你把error message发上来
或者把你出错的代码附近的代码贴上来

一般这种错误,可能有以下几种原因
1. source里面包含全角字符
2. 前面有编译不过的
3. 包引用不对
4. 多了或者少了括号啊分号之类的
5. 。。。。。。

PS:你上面贴的代码,在你那边可以编译过么?
加载更多回复(16)

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧