Java 正在尝试绘制到另一个类中的小程序
您好,我是一个java编程的初学者,我正在尝试找出如何从另一个类到java小程序绘制一个形状(椭圆形)(我相信这可能是一个简单的问题) 包含要绘制到的小程序的类:Java 正在尝试绘制到另一个类中的小程序,java,swing,applet,japplet,Java,Swing,Applet,Japplet,您好,我是一个java编程的初学者,我正在尝试找出如何从另一个类到java小程序绘制一个形状(椭圆形)(我相信这可能是一个简单的问题) 包含要绘制到的小程序的类: import java.awt.*; import javax.swing.JApplet; public class PulsatingBalls extends JApplet{ private static final long serialVersionUID = 1L; public void init(){
import java.awt.*;
import javax.swing.JApplet;
public class PulsatingBalls extends JApplet{
private static final long serialVersionUID = 1L;
public void init(){
getContentPane().setBackground( Color.black );
new ball(20, 20);
}
}
还有球类:
import java.awt.Graphics;
public class ball extends PulsatingBalls{
int x;
int y;
public ball(int y, int x){
this.x = x;
this.y = y;
repaint();
}
public void paint(Graphics g){
g.drawOval(x, y, 50, 50);
}
}
试试这个:
小程序:
public class PulsatingBalls extends JApplet {
private static final long serialVersionUID = 1L;
private final List<Ball> balls = new ArrayList<Ball>();
@Override
public void init() {
getContentPane().setLayout(new BorderLayout());
final JPanel jp = new JPanel() {
@Override
protected void paintComponent(final Graphics g) {
super.paintComponent(g);
g.setColor(Color.red);
for (final Ball b : balls) {
b.paint(g);
}
}
};
jp.setBackground(Color.black);
getContentPane().add(jp, BorderLayout.CENTER);
balls.add(new Ball(20, 20));
}
}
由于JApplet不是双缓冲的,因此不建议重写它的paint方法,而是使用JPanel并重写它的paintComponentmethod@MadProgrammer好的,我改了。
public class Ball {
int x;
int y;
public Ball(final int y, final int x) {
this.x = x;
this.y = y;
}
public void paint(final Graphics g) {
g.drawOval(x, y, 50, 50);
}
}