我一直在尝试制作一个简单的程序,它有一个像工具一样的画笔,打开时它创建了一个JFrame,在其中我放置了一个Canvas,用户可以在其中绘制.现在,我正在尝试使用在退出时调用的saveCanvas方法来保存绘图,但无论我做什么,我都会得到一个黑色图像.这是我的代码:
public class Test{
JFrame f;
Canvas c;
int x=-1, y=-1;
public Test() {
f = new JFrame();
f.setSize(1200, 800);
c = new Canvas(){
@Override
public void paint(Graphics g){
super.paint(g);
}
};
f.add(c);
c.addMouseMotionListener(new MouseMotionListener(){
@Override
public void mouseMoved(MouseEvent e) {
// empty
}
@Override
public void mouseDragged(MouseEvent e){
if(x==-1){
x = e.getX();
y = e.getY();
}
c.getGraphics().fillOval(x, y, 5, 5);
x = e.getX();
y = e.getY();
}
});
f.addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent evt) {
onExit();
}
public …Run Code Online (Sandbox Code Playgroud)