我正在尝试模拟一些简单的动画。基本上我想在一个框架上做一个填充的矩形移动。我认为我需要做的是以下几点。
继承JLabel并在其上绘制矩形。
将JLabel添加到JPanel,然后将此面板添加到框架中。
所以我的问题是,是否有可能为不可见的JPanel设置动画以产生移动矩形的错觉?
答案 0 :(得分:3)
最好的办法是扩展JPanel并使用作为参数传入的Graphics对象绘制此类的paintComponent方法,如Swing图形教程所示。使用Graphics方法drawRect绘制矩形轮廓或fillRect以绘制实心矩形。您将需要使用Swing Timer来增加一些您将在上述方法中使用的int类字段,以告诉paintComponent在哪里绘制矩形。
答案 1 :(得分:1)
实际上我正在画一辆“汽车”,我把它简化为一个矩形。
因此自定义绘画包含在Icon中。这样,当汽车从locationA移动到locationB时,只会重新绘制旧位置和新位置。
如果您尝试在面板上进行绘图,您将结束: