我正在尝试创建一个响应鼠标单击的小程序,然后在屏幕上绘制方形并将鼠标坐标存储在字符串中。最后,如果我按“S”键,则将字符串保存在名为的文件中“Level1.txt”。 但是当我运行这个小程序并按下S时,没有任何内容保存在文件中。我没有原因。请帮忙。 这是我的代码: -
import java.io.*;
import java.awt.event.*;
import java.applet.*;
import java.awt.*;
public class levelEditor extends Applet{
int x,y;
boolean clicked;
FileWriter fw;
PrintWriter pw;
BufferedWriter bw;
String pix;
public void init() {
setSize(500,500);
x=0;
y=0;
pix="";
clicked=false;
addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e){
clicked=true;
x=e.getX();
y=e.getY();
pix=pix+x+","+y+" ";
repaint();
}
} );
addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e){
try{
if(e.getKeyCode()==KeyEvent.VK_S){
fw=new FileWriter("Level1.txt");
bw=new BufferedWriter(fw);
pw=new PrintWriter(bw);
pw.println(pix);
pw.close();
System.exit(0);
}
}
catch(Exception exp)
{
}
}
});
}
public void paint(Graphics g){
update(g);
}
public void update(Graphics g){
if(clicked){
g.setColor(Color.GREEN);
g.fillRect(x-5, y-5,10,10);
}
}
}