Hallo,
ich habe eine Klasse (von diesem Forum - Danke Marco13 und WildCard) zum Setzen einzelner Pixel auf einem BufferedImage.
in der Klasse GetData habe ich ein Objekt der Klasse ImageComponent erzeugt und mit der Methode setPixel setze ich die einzelnen Pixel (angegeben ist es in der Klasse ImageComponent mit 240 * 320, ich habs ein bisschen kleiner gemacht),
Meine Frage wäre jetzt, wie ich die Methode paintComponent explizit in der Klasse GetData aufrufen kann, damit mein Image angezeigt wird?, oder geht das irgendwie anders?
Vielen Dank für EURE Antworten!!
lg
Hannes
Klasse GetData
Klasse ImageComponent
ich habe eine Klasse (von diesem Forum - Danke Marco13 und WildCard) zum Setzen einzelner Pixel auf einem BufferedImage.
in der Klasse GetData habe ich ein Objekt der Klasse ImageComponent erzeugt und mit der Methode setPixel setze ich die einzelnen Pixel (angegeben ist es in der Klasse ImageComponent mit 240 * 320, ich habs ein bisschen kleiner gemacht),
Meine Frage wäre jetzt, wie ich die Methode paintComponent explizit in der Klasse GetData aufrufen kann, damit mein Image angezeigt wird?, oder geht das irgendwie anders?
Vielen Dank für EURE Antworten!!
lg
Hannes
Klasse GetData
Code:
ImageComponent bildAnzeige = new ImageComponent(); // Objekt der Klasse ImageComponent
public int[] input = new int[8];
wertInput = inData.read();
input[0] = wertInput & 0x80;
input[1] = wertInput & 0x40;
input[2] = wertInput & 0x20;
input[3] = wertInput & 0x10;
input[4] = wertInput & 0x08;
input[5] = wertInput & 0x04;
input[6] = wertInput & 0x02;
input[7] = wertInput & 0x01;
for (int i = 0; i < 8; i++)
{
bildAnzeige.setPixels((k*8)+i, p, input[i]); // einzelne Pixel setzen
}
if (k > 20) //etwas kleiner als in Klasse ImageComponent angeg
{
k = 0;
p++;
}
if (p > 130) //etwas kleiner als in Klasse ImageComponent angeg
{
p = 0;
state = 40;
}
k++;
Klasse ImageComponent
Code:
class ImageComponent extends JComponent
{
private BufferedImage bufferedImage;
public ImageComponent()
{
bufferedImage = new BufferedImage(240, 320, BufferedImage.TYPE_INT_RGB);
}
public void setPixels(int x, int y, int pixels)
{
// wandle String um in Pixel
// int rgb = 0; // ... schwarz oder weiß
bufferedImage.setRGB(x, y, pixels);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(bufferedImage, 200, 200, this);
}
}