您好我想知道如何调用paint方法...
我是一名新手程序员,我真的只是在试验像油漆这样的东西。
我想要制作的程序是游戏中有3个梯级,游戏的目的是将不同大小的磁盘从左/右横档移动到右/左横档。
这是我的代码(没有在附近完成给我休息):
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int amount = 0;
// get the amount of rectangles to draw to represent disks
while (amount <= 1 && amount >= 5) {
System.out.print("Please enter amount of discs to use(less than 7 more than one).");
amount = scan.nextInt();
}
}
public void paint(Graphics g) {
// draw a certain amount of rectangles in ascending order
if (amount <= 1 && amount >= 5) {
for (int i = 0; i < amount; i++) {
g.fillRect(220 - (20 * i), 200 + (10 * i), 100 - (20 * i), 20);
}
}
}
答案 0 :(得分:4)
在创建对象时,将首次调用paint方法。
要强制再次调用paint()
方法,如果要传入新的update(Graphics g)
对象,可以调用Graphics
,但通常我建议使用repaint()
方法,因为这样它将被安排为asap。
答案 1 :(得分:2)
您无需拨打电话。相反,您应该使用Java为您创建的主循环。
通常的方法是扩展JPanel
(请参阅此问题:How to make canvas with Swing?)并覆盖paint()
方法。
现在创建一个JFrame
,向其添加新的UI组件并打开框架。然后,Java将确保它被渲染。
答案 2 :(得分:0)
我不是教授别人的专家或其他东西,但你需要将你的代码绘制到paintComponent(Graphics g)
方法而不是绘制,然后调用重绘方法。