这种数据类型该怎样转换?

zhangzhexin_81 2005-11-13 01:02:18
我在一个窗口中添加了一个面板,上面有一个文本框,我得目的是当鼠标在面板上移动时在文本框中显示当前鼠标的x,y坐标,我的代码是这样的:(请注意注释的地方!)

import java.awt.*;
import java.awt.event.*;
class KeyPress extends Frame
{
Panel p1=new Panel();
TextField txt1=new TextField(20);
KeyPress(String title)
{
super(title);
add(p1);
p1.setLayout(new FlowLayout());
p1.addKeyListener(new kEvent());
p1.add(txt1);
p1.addMouseMotionListener(new mMotion());
}
class kEvent extends KeyAdapter
{
public void keyTyped(KeyEvent e)
{
if(e.getKeyChar()=='x' || e.getKeyChar()=='X')
System.exit(0);
}

public void keyPressed(KeyEvent e)
{
p1.setBackground( Color.gray);
repaint();
}


public void keyReleased(KeyEvent e)
{
p1.setBackground( Color.yellow);
repaint();
}
}
class mMotion extends MouseMotionAdapter
{
public void mouseDragged(MouseEvent e)
{
p1.setBackground( Color.red);
repaint();
}


public void mouseMoved(MouseEvent e)
{
txt1.setText((String)e.getX()+','+(String)e.getY());//这里编译的时候报错,说不能这样转换,那应该怎么办呢?

}
}
public static void main(String args[])
{
KeyPress KP1=new KeyPress("www.it315.org");
KP1.setSize(300,200);
KP1.setVisible(true);
}
}
...全文
236 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangzhexin_81 2005-11-13
  • 打赏
  • 举报
回复
还有就是十六进制的字符串怎样将它转换为十六进制数呢?
zhangzhexin_81 2005-11-13
  • 打赏
  • 举报
回复
那如果在java里面要把十进制数转换成16进制数应该怎样转换呢,其他的比如十六进制转换成十进制又改怎样转换呢?
believefym 2005-11-13
  • 打赏
  • 举报
回复
楼上的胡说
(String)(e.getX()),谁教你这么写的
fankobe 2005-11-13
  • 打赏
  • 举报
回复
(String)e.getX(),你这个转换是先转换e成为String的,当然这个转换是错误的,e不是String子类的对象嘛。你可能想将e对象得到的x坐标转换成String类的字符串,那你应该重要
(String)(e.getX()),多加一个括号。
fankobe 2005-11-13
  • 打赏
  • 举报
回复
txt1.setText(e.getX()+","+e.getY())直接这样可以了,注意你的程序使用的是单引号,字符串应该使用的是双引号的。
believefym 2005-11-13
  • 打赏
  • 举报
回复
""+e.getX()+","+e.getY()

62,629

社区成员

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

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