gpt4 book ai didi

java - 为 Jpanel 制作图形,但属于不同的类

转载 作者:行者123 更新时间:2023-12-01 15:37:30 26 4
gpt4 key购买 nike

我的程序用于为不同数据结构的算法设置动画,我需要创建所有会移动的对象。

我研究过使用 Graphics 类,但看起来您必须创建一种方法来在具有面板的类中绘制线条和框。有没有办法从具有面板的类的实例中进行绘制?

现在我有使用标签工作的列表,如下所示。

anim 是将动画对象放置到其中的面板。我正在尝试为图形创建一个名为 PathObject 的类,它需要图形中的 drawline() 方法,但我找不到将 Graphics 添加到 的方法动画。任何帮助都会很棒。

package Objects;

import javax.swing.*;

import Algorithms.Animated;


/** Animated object to be displayed as part of a list */
public class ListObject<T extends Number> extends AnimObject<T>
{
// Constructor
public ListObject(Animated anim, T val)
{
super(anim, val);

Setscale(20, val.intValue());
}
}

最佳答案

(一个友好的请愿书:包名称以小写字母开头,方法名称以小写字母开头。)

如果我理解正确的话,可以执行以下操作:

您可以为绘制某些内容的对象提供一个接口(interface):

public interface Drawable {
void paint(Graphics2D g);
}

然后您的 ListObject 就可以实现 Drawable

动画(JPanel)可以有:

public void addDrawable(Drawable drawable) {
drawables.add(drawable);
}

你可以在它的paintComponent中绘制它们。

在某种程度上,您正在构建自己的轻量级组件。

关于java - 为 Jpanel 制作图形,但属于不同的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8649927/

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