存储图像并显示在不同的类中

时间:2012-01-13 18:35:19

标签: java image class get awt

我正在尝试在“GetImage”类中获取多个图像,并将它们显示在主类中。

有人能告诉我一个如何做的例子吗?我尝试了很多其他样本,但由于我有两个课程,所以它们没有用。

这是我试过的一个。

主要的clss:

import java.awt.*;
import hsa.*;

public class Test
{
static Console c;  

    public void Display()
    {
        GetImage c = new GetImage();
        c.paint(g);
    }

    public Test()
    {
        c = new Console ();
    }

    public static void main (String[] args) throws Exception
    {
        Test = new Test();
        a.Display();

    }

}

单独的课程:

import java.awt.*;
import hsa.Console;
import java.awt.event.*;

public class GetImage extends Frame
{

    Image image;
    String imageName = "ImageFileName.jpg";

    public void paint (Graphics g)
    {
        Toolkit tool = Toolkit.getDefaultToolkit ();
        image = tool.getImage (imageName);
        g.drawImage (image, 30, 30, this); // location of the image
        g.drawString (imageName, 100, 50); // location of the name
    }
}

1 个答案:

答案 0 :(得分:0)

我对hsa软件包不是很熟悉,但是一些快速的谷歌搜索说这是一家公司的教育软件包已经破产,如果我错了就纠正我。所以,如果可以的话,我会尽量避免使用他们的任何东西。

如果你必须在学校或其他地方使用它,那么你可能想完全坚持他们的包而不是混合和匹配hsa与awt。像这样的东西可能会达到你想要的效果,但我又不熟悉hsa包。

import java.awt.*;
import hsa.*;

public class Test
{
    static Console c;  

    public void Display()
    {
        GetImage gI = new GetImage(c,25,80,12);
    }

    public Test()
    {
        c = new Console ();
    }

    public static void main (String[] args) throws Exception
    {
        Test = new Test();
        a.Display();

    }

}


import java.awt.*;
import hsa.ConsoleCanvasGraphics;
import java.awt.event.*;

public class GetImage extends ConsoleCanvasGraphics
{

    Image image, image2;
    String imageName = "ImageFileName.jpg", image2Name = "Image2FileName.jpg";
    public GetImage(ConsoleParent parent, int rows, int columns, int fontSize)
    {
        Toolkit tool = Toolkit.getDefaultToolkit ();
        image = tool.getImage (imageName);
        image2 = tool.getImage (image2Name);
        super(parent,rows,columns,fontSize);
        drawImage(image,30,30,this);
        drawImage(image2,30,60,this);
        drawString(imageName,100,50,new Font("TimesRoman", Font.PLAIN,  20),Color.BLACK);
        drawString(image2Name,100,80,new Font("TimesRoman", Font.PLAIN,  20),Color.BLACK);
    }

}

同样,我会尝试自己避免使用hsa,但是如果您已经开始使用它并且需要在程序中使用两个单独的类,那么上面的内容应该是可能有效的大致概述。