gpt4 book ai didi

java - ActionListener 中的 Paint 方法

转载 作者:行者123 更新时间:2023-11-29 05:51:35 25 4
gpt4 key购买 nike

我正在尝试在 ActionListener 中使用 Java 绘制方法。然而,当 paint 被放置在 ActionListener 中时,我的编译器会抛出错误,并且 Eclipse 根本不会将 paint 识别为一种方法,尽管导入了 java.awt.geom.*;

private class NumHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
//Draw Ovals
public void paint (Graphics g)
{
int number;
int x = 10;
int y = 30;
int width = 20;
int height = 10;

number = Integer.parseInt(numberTF.getText());

for (int i = 0; i < number; i++)
{
g.drawOval(x, y, width, height);

x += 5;
y += 5;
width += 5;
height += 5;
}
}
}

}

最佳答案

您的paint 方法不能在您的actionPerformed 方法中。它需要作为组件的类成员方法而不是 NumHandler 存在。您可以在 ActionListener 方法中放置一个 repaint() 调用,以请求执行重绘。

不要在您的paint 方法中放置任何可能导致异常的逻辑,即:

number = Integer.parseInt(numberTF.getText());

最好在 actionPerformed 方法中完成。

此外,如果使用 Swing,paintComponent 是优化绘制性能的首选。请记住调用 super.paintComponent(g); 来重新绘制任何子组件。

参见:Painting in AWT and Swing

关于java - ActionListener 中的 Paint 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13675239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com