如何从类中获取 Java 中的图形以在小程序中使用



在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

相关内容

  • 没有找到相关文章

最新更新