1
这是2个问题的种类:
1)的paint
成员是否使用代号1代替最简单的2D图形游戏?或者我应该甚至不尝试呢?
2)为什么下面的代码只能将我的Component
仅仅立即擦除?绘制自定义组件
我初始化我的组件是这样的:
protected void StartGame()
{
final Component newC = new PaintedComponent();
Container mv = findContainerMainVisual();
mv.addComponent(newC);
mv.setShouldCalcPreferredSize(true);
mv.animateLayout(200);
}
,然后针对组件覆盖这样的paint
成员函数:
public class PaintedComponent extends Component {
private int nextColour;
public PaintedComponent() {
super();
setSize(new Dimension(200,200));
nextColour = 0x8f8f8f;
}
@Override
public void paint(Graphics g) {
super.paint(g); // I've tried without this, but it's the same
g.setColor(0xffffff);
g.fillRadialGradient(0xffffff, nextColour, 0,0,this.getWidth(), this.getHeight());
}
}
谢谢。是的,我已经看过扑克演示了,但我不认为我可以通过移动组件来实现我想要的工作 - 虽然很酷的想法:) 如果我想显示一个围绕另一个围绕另一个环绕的物体,你认为我可以我使用“扑克技术”来做到这一点? – noelicus
此外,覆盖'calcPreferredSize()'似乎没有做任何事情,但'边界布局的中心'工程治疗:) – noelicus
我很难从描述中知道,但你可以创建自己的布局管理器,并使用以任何你喜欢的方式定位组件。布局管理器实际上很容易创建,在开发人员指南中有这样一个例子。 –