java - 使用 MouseClicked 获取光标坐标时出现此错误。“对于 MouseEvent 类型,方法 getX() & getY() 未定义”
问题描述
简单的加减法应用:
我检查了它的解决方案,并找到了有关 getX() 的解决方案,但与 MouseClicked 无关!
我认为这是某种类型转换问题,但我无法解决它,我验证了所有导入,甚至将代码与可用的在线代码匹配!
进口:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JTextField;
import com.sun.glass.events.MouseEvent;
主类:
public class Calcx {
public static void main(String[] args) {
Initialize o=new Initialize();
}
}
称为类:
class Initialize extends JFrame implements ActionListener {
JFrame frame;
JTextField t1;
JButton b1,b2;
JTextField t2;
JLabel l,l1;
JPopupMenu p;
JMenuItem i,j;
构造函数:
public Initialize() {
setTitle("CalcX");
setLayout(new FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
l=new JLabel("CalcX");
t1=new JTextField(5);
t2=new JTextField(5);
b1=new JButton("ADD");
b2=new JButton("SUBTRACT");
b2.addActionListener(this);
l1=new JLabel();
b1.addActionListener(this);
p=new JPopupMenu("Edit");
i= new JMenuItem("cut");
j= new JMenuItem("copy");
add(p);
p.add(i);
p.add(j);
add(l);
add(t1);
add(t2);
add(b1);
add(b2);
pack();
setVisible(true);
Error while using mouseClicked:
addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent a)
{
int x=a.getX(); *Error*
int y=a.getY(); *Error*
p.show(frame,x,y);
}
});
}
}
解决方案
import com.sun.glass.events.MouseEvent;
这不是 JDK 使用的标准 MouseEvent 类。
你需要使用:
import java.awt.event.MouseEvent;
推荐阅读
- android - 如何在视频全屏模式下隐藏嵌套屏幕中的 tabBar?
- javascript - Set focus on the second table
- oracle - obiee中的预测功能,如何使用?
- node.js - 使用 Mongoose 和 Node.js 从 mongoDB 检索数据时出错
- hlsl - 为什么衰减光的强度会出现不平滑的降低?
- c++ - 我可以使用普通的冒泡排序来按字母顺序排列列表吗?
- ruby-on-rails - 无需储蓄卡即可进行条带支付
- batch-file - 获取具有特定扩展名的所有文件
- reactjs - 创建反应本机应用程序时出错
- python - 如何使用 Python 从 CSV 创建嵌套字典