小编Dan*_*nov的帖子

Java BufferedImage从Canvas返回黑色图像

我一直在尝试制作一个简单的程序,它有一个像工具一样的画笔,打开时它创建了一个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)

java swing bufferedimage image

2
推荐指数
1
解决办法
4940
查看次数

标签 统计

bufferedimage ×1

image ×1

java ×1

swing ×1