【发布时间】:2014-04-07 00:32:06
【问题描述】:
class ballbouncepanel extends JPanel
{
public void start()
{
Timer timer;
final int FREQ = 45;
timer = new Timer(FREQ, new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
repaint();
}
});
timer.start();
}
Rect rect = new Rect();
public Dimension getPreferredSize()
{
return new Dimension(250,200);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
rect.draw(g);
rect.move(g);
rect.erase(g);
}
}
class Rect
{
public int xLocation = 0;
public int yLocation = 0;
public int xVelocity = 10;
public int yVelocity = 10;
public void draw(Graphics g)
{
g.setColor(Color.cyan);
g.fillRect(xLocation, yLocation, 20, 20);
}
public void move(Graphics g)
{
xLocation += xVelocity;
yLocation += yVelocity;
}
public void erase(Graphics g)
{
g.setColor(Color.white);
g.fillRect(xLocation, yLocation, 20, 20);
}
}
新的错误是现在我的重绘方法不起作用。
上面是我想要绘制的框架的代码,我了解使用小程序或 JApplet 进行绘制,但我正在尝试在 Swing 上的小程序中执行我所做的事情,现在我遇到了问题,我查阅了很多关于如何在其中实现图形的教程,但其中大多数只是运行一个主图形,我需要我的在这个特定的框架(BB)中。如果有人可以帮助我理解或指向我的初学者教程,将不胜感激。
【问题讨论】:
-
查看 Custom Painting 上的 Swing 教程。
-
“我了解使用小程序或 JApplet 进行绘制,但我正在尝试在 Swing 上的小程序中做的事情” 这是相同的概念。 fyi
JApplet是一个swing组件。 “现在我遇到了问题” - 什么问题?显示一些代码。您发布的代码没有显示任何关于绘画的内容。 -
好的,我编辑了它。新的问题是它没有重绘。抱歉没有代码
标签: swing jframe jpanel paint paintcomponent