java - 坐标不会消失
问题描述
这是使用 JPanel 在 JFrame 上显示鼠标按下事件的坐标的分配。除了新坐标出现时旧坐标必须消失之外,我已经满足了所有要求。我确定我在这里的某个地方遗漏了一个概念,但是经过数小时的阅读和反复试验,我无法让它们消失。有人可以指出我正确的方向吗?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Coords{
public static void main(String[] args){
new Runner();
}
}
class Runner{
public Runner(){
MyFrame displayWindow = new MyFrame();
displayWindow.setSize(300,100);
displayWindow.setVisible(true);
Panel panel = new Panel();
displayWindow.getContentPane().add(panel, "Center");
displayWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class MyFrame extends JFrame{
public MyFrame(){
System.out.println(
"Some text on command line");
}
}
class Panel extends JPanel{
int xCoor;
int yCoor;
public Panel(){
this.addMouseListener(new MouseProc());
}
public void paint(Graphics g){
g.drawString("x = " + xCoor + ", y = " + yCoor, xCoor, yCoor);
}
}
class MouseProc extends MouseAdapter{
public void mousePressed(MouseEvent e){
((Panel)e.getComponent()).xCoor = e.getX();
((Panel)e.getSource()).yCoor = e.getY();
e.getComponent().repaint();
}
}
谢谢你的时间!
解决方案
推荐阅读
- firebase - firebase 没有创建用户(user.uid = null)
- regex - 如何在 Windows PowerShell 中捕获围绕正则表达式匹配的特定行?
- angular - Angular 12 - 导航到保留旧路线的网址的新路线
- amazon-web-services - 资源块 terraform 中的 For_each 循环
- vb.net - 如何通过 vb.net 从多个网站同时获取信息?
- uwsgi - 仅在 wsgi 中找不到 django 模块
- node.js - Auth0 与 Electron 在开发中工作,但在打包时没有
- unity3d - 有没有办法在适用于 HoloLens 的 Unity 应用程序中嵌入 Web 浏览器?
- swift - 可以消除循环中的 1 个吗?(写入标题并将数据写入 CSV 文件)
- python - python & mysql,执行操作失败;无法处理参数