gpt4 book ai didi

java - 使用单独的方法在 JFrame 中绘制线条

转载 作者:行者123 更新时间:2023-12-02 13:14:27 25 4
gpt4 key购买 nike

我正在尝试创建一个方法,该方法在调用时会创建一个 JFrame。在创建所述 JFrame 的同一个类中,我有另一个称为 line 的方法。调用此方法时,应该根据输入的坐标在 JFrame 上绘制一条线。 JFrame 加载正确,但 line 方法不起作用。即,即使 line 方法具有有效坐标,JFrame 上也不会显示任何内容。

import java.awt.*;
import javax.swing.JFrame;

public class Window{

JFrame f = new JFrame("Pathway");

public Window(int width, int height){
f.setSize(width,height);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void line(int x1,int y1,int x2,int y2){
Graphics g = f.getGraphics();
g.setColor(Color.BLACK);
g.drawLine(x1,y1,x2,y2);
}
}

由于我还是个初学者,我不知道发生了什么。任何帮助将不胜感激。谢谢!

最佳答案

不要使用 getGraphics()。这不是定制绘画的方式。

自定义绘制是通过重写 JPanelpaintComponent() 方法来完成的,然后将面板添加到框架中。

阅读 Swing 教程中关于 Custom Painting 的部分了解更多信息和工作示例。

从教程中的工作示例开始,然后对其进行自定义。

关于java - 使用单独的方法在 JFrame 中绘制线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43826021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com