【发布时间】:2024-01-05 04:06:01
【问题描述】:
这里是初学者编程学生。试图简单地创建允许我单击窗口边界并显示我单击位置的坐标的 JFrame 对象。但是,每当我单击一个新位置时,以前的坐标都需要消失。有人告诉我,一种方法是在 JFrame 对象的中心添加一个 JPanel。但是,当我这样做时,我收到一个错误,提示我正在向容器添加一个窗口。我可能从阅读的内容中错误地扩展了某些内容,但我似乎无法弄清楚。
public class Proj07 {
public static void main(String[] args){
new Proj07Runner();
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Proj07Runner{
GUI gui = new GUI();
}
class MyFrame extends JFrame{
int XCoor;
int YCoor;
public void paint(Graphics g){
g.drawString("x = " + XCoor + ", y = " + YCoor, XCoor, YCoor);
}
}
class GUI{
public GUI(){
MyFrame displayWindow = new MyFrame();
displayWindow.setSize(300,100);
displayWindow.setTitle("Insert name here");
displayWindow.addWindowListener(new WProc1());
JPanel myPanel = new JPanel();
displayWindow.getContentPane().add(myPanel, "Center");
displayWindow.setVisible(true);
}
}
class MouseProc extends MouseAdapter{
public void mousePressed(MouseEvent e){
((MyFrame)e.getComponent()).XCoor = e.getX();
((MyFrame)e.getComponent()).YCoor = e.getY();
e.getComponent().repaint();
}
}
class WProc1 extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
谢谢大家的帮助!
【问题讨论】:
标签: java swing user-interface jframe jpanel