所以程序开了一辆车,我要制作三个按钮,一个用于闪光灯以初始化闪光能力,一个用于左侧,一个空间向左移动一个空间,一个用于移动汽车右边一个空格。我的问题是每次按下按钮时如何更改颜色?总而言之,我不知道如何在闪烁打开时每次按下按钮时让对象改变它的颜色。我假设我使用paint()
任何帮助将不胜感激。
答案 0 :(得分:0)
如果要绘制图像,则需要加载不同颜色的其他图像文件,然后再绘制该图像。您将使用当前用于绘制汽车的任何方法执行此操作。
如果您正在绘制某种形状或文字,可以在绘制形状之前在传递给g.setColor()
或paint()
方法的图形对象上调用paintComponent()
。
答案 1 :(得分:0)
有很多方法可以做到这一点。但基本要求是,有一种Object
可以告诉它何时应该改变颜色,然后它会采取适当的行动并相应地更新UI。
使用简单的JPanel
作为对象的表示形式,并在需要更改颜色时简单地将其称为setBackground
颜色方法。
这假设您要使用LayoutManager
来定位面板。虽然它确实可行,但需要对整体设计进行一些思考
使用JPanel
并覆盖它的paintComponent
方法并在那里绘制颜色变化。在最简单的层面上,这是过度的,但如果你也想画一辆"汽车"或者"汽车"的图像,然后这变得更有意义,特别是如果你想根据它移动的方向旋转汽车
有关详细信息,请参阅Painting in AWT and Swing,Performing Custom Painting和2D Graphics
我认为你的意思是你希望以某种方式对对象进行动画制作并且#34;闪烁"打开和关闭。
这很容易通过使用Swing Timer
来实现,它可以用来改变简单标志的状态,改变渲染组件的方式。
有关详细信息,请参阅How to use Swing Timers
要消除这一点的重要概念是创建一个对象,它将需求封装在一起,方便您使用,因此当您启用闪存时,您所做的就是调用setFlashing(boolean)
方法并且该对象负责其余的