gpt4 book ai didi

java - JPanel 内自由绘图

转载 作者:行者123 更新时间:2023-12-01 23:27:20 24 4
gpt4 key购买 nike

我是 Java 新手。我想创建一个程序,在其中我需要通过拖动鼠标在JPanel上自由绘图。我了解了绘制功能的基础知识并能够实现这一点。

public class DrawLine extends JPanel {  
public void paint(Graphics g)
{

g.drawLine(0, 0, 50, 50);
}
public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable(){
public void run()
{
JFrame frame=new JFrame("Top Level Demo");
frame.setSize(300, 250);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel myPanel=new JPanel();
myPanel.setLayout(null);
frame.add(myPanel);
frame.add(new DrawLine());
frame.setVisible(true);

}});
}}

但这会生成这样的输出,其中直线由坐标确定。 enter image description here

请有人帮我在 JPanel 中实现自由绘图。

最佳答案

重写JPanel的paintComponent()而不是paint()方法。

创建要在paintComponent()中使用的Point列表。

循环迭代列表,并为列表中的每一对点调用

g.drawLine(currentPoint.x,currentPoint.y, nextPoint.x,nextPoint.y); 

添加拖动监听以在列表中存储拖动点。

关于java - JPanel 内自由绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19786089/

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