我的程序用于为不同的数据结构设置算法动画,我需要创建所有可以移动的对象。
我研究过使用Graphics类,但看起来你必须制作一个方法来在具有面板的类中绘制线条和方框。有没有一种方法可以从具有面板的类的实例中进行绘制?
现在我的列表使用如下标签。
anim
是动画对象放置的面板。我正在尝试为需要图形中PathObject
方法的图形创建一个名为drawline()
的类,但我找不到将图形添加到anim
的方法。
任何帮助都会很棒。
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());
}
}
答案 0 :(得分:1)
(一个友好的请愿书:小写字母包名,小写字母的方法名。)
如果我理解正确,以下情况可以:
您可以为绘制内容的对象设置接口:
public interface Drawable {
void paint(Graphics2D g);
}
然后,您的ListObject可以implements Drawable
。
动画(JPanel)可能有:
public void addDrawable(Drawable drawable) {
drawables.add(drawable);
}
在paintComponent中你可以画它们。
在某种程度上,您正在构建自己的轻量级组件。