首页 > 解决方案 > 在绘画面板上添加消息框

问题描述

我在下面有这段代码,这个类扩展了 JPanel 并从它的构造函数中获取一些参数,并在我上传的图片上画线。

 @Override
public void paint(Graphics g) {
    super.paint(g);

    Stroke stroke = new BasicStroke(4f);
    Graphics2D g2d = (Graphics2D) g;

    g2d.drawImage(image,0,0,image.getWidth() * 3 / 5,image.getHeight() * 3 / 5,this);
    g2d.setStroke(stroke);

    for (int i=0; i<pathler.size(); i++){
        for (int j=0; j<pathler.get(i).size() - 1; j++) {
            g2d.drawLine(pathler.get(i).get(j).getX(),pathler.get(i).get(j).getY(),pathler.get(i).get(j+1).getX(),pathler.get(i).get(j+1).getY());
        }

    }
    for (int i=0; i<lastpath.size() - 1; i++){
        g2d.drawLine(lastpath.get(i).getX(),lastpath.get(i).getY(),lastpath.get(i+1).getX(),lastpath.get(i+1).getY());
    }


}

我使用下面的代码在 main 上调用它;

    Main jf = new Main("App");
    jf.setSize(1500,800);
    jf.setDefaultCloseOperation(EXIT_ON_CLOSE);
    Gui gui = new Gui(nodes,path,path3);
    jf.add(gui);
    jf.setVisible(true);

当我运行它时,我想要的只是那个图片上的一个小框,它会显示我的路径字符串(我会写它们,框的内容没有问题),用户可以按 OK 或框的右上角来关闭它,它是否可拖动都不是问题。我对布局、面板等不熟悉,所以我无法理解。实际上它只是一个简单的框,就像您在计算机上收到错误消息(或面板或消息框,idk 如何准确调用它)。我需要帮助。

标签: javaswingjpanelawtpaint

解决方案


推荐阅读