在Java中,如何在类中创建图形,然后获取图形以在小程序中使用?
为图形创建此类的一次尝试如下所示。
import java.lang.*;
import java.util.*;
import java.awt.*;
public class Cords{
public static Graphics cords;
public static int w,h,n;
private static int xC,yC;
public static void Paint(Graphics g)
{
for(xC=0;xC<=w;xC+=n){
g.drawLine(xC,0,xC,h);
g.drawString(""+xC,xC,11);
}
for(yC=0;yC<=h;yC+=n){
g.drawLine(0,yC,w,yC);
g.drawString(""+yC,1,yC));
}
cords=g.create();
}
public static Graphics cords(int w, int h,int n){
return cords;
}
然后我尝试在小程序中使用它...
import java.awt.*;
import java.applet.Applet;
import javax.swing.Timer;
public class CordsTest extends Applet
private int x,y,w,h,n;
private Cords a;
public void init()
{
//w=getWidth();
//h=getHeight();
//a.cords(w,h,50);
}
public void paint(Graphics g){
w=getWidth();
h=getHeight();
g.setColor(Color.black);
paint(a.cords(w,h,50));
}
}
由于我对在 Stack Overflow 上提问相对较新,如果问题格式有任何错误,请耐心等待,如果可能的话,通过评论让我知道,以便我将来可以避免这些错误。谢谢!
涂装系统希望重新绘制组件时,它会自动调用paint
。
例如,为了进行任何绘画,您应该将 Graphics
的引用传递给绘画类的实例。
使用类似...
public class Cords{
public void paint(Graphics g, int w, int h, int n)
{
for(int xC = 0; xC <=w; xC += n){
g.drawLine(xC,11,xC,h);
g.drawString(""+xC,xC-(n/5),11);
}
for(int yC = 0; yC <= h; yC += n){
g.drawLine(25,yC,w,yC);
g.drawString(""+yC,1,yC+((n/5)/2));
}
}
}
在小程序中,您需要创建一个 Cords
实例,然后向其传递 Graphics
的引用
public class CordsTest extends Applet implements ActionListener{
private Cords cords;
public void paint(Graphics g){
w=getWidth();
h=getHeight();
g.setColor(Color.black);
if (cords == null) {
cords = new Cords();
}
cords.paint(g, w, h, 10);
}
有关更多详细信息,请查看在 AWT 中绘制和摆动和执行自定义绘画。
老实说,除非你真的必须避免小程序,否则从一个简单的JFrame
开始,JPanel