G
Guest
Gast
Hab das Problem das nicht alles gedruckt wird was gedruckt werden soll!
Die punkteZeichnen(g2); Methode funktioniert (in ihr werden rechtecke gemalt)
Sobald ich aber noch die schreiben(g2); Methode (hier werden Strings gezeichnet) dazumachen will, druckt der drucker nicht mehr!!?
Jemand ne Ahnung woran das liegen könnte??
Die Strings in der schreiben() Methode werden aus einer anderen Klasse übergen! Könnte es vielleicht deswegen zu Problemen kommen?
Die punkteZeichnen(g2); Methode funktioniert (in ihr werden rechtecke gemalt)
Sobald ich aber noch die schreiben(g2); Methode (hier werden Strings gezeichnet) dazumachen will, druckt der drucker nicht mehr!!?
Jemand ne Ahnung woran das liegen könnte??
Die Strings in der schreiben() Methode werden aus einer anderen Klasse übergen! Könnte es vielleicht deswegen zu Problemen kommen?
Code:
//druckfunktion:
public int print(Graphics g, PageFormat pf, int pi) throws PrinterException //änderung
{
Graphics2D g2=(Graphics2D)g;
if (pi >= 1)
{
return Printable.NO_SUCH_PAGE;
}
g2.translate(pf.getImageableX(), pf.getImageableY());
punkteZeichnen(g2);
schreiben(g2);
return Printable.PAGE_EXISTS;
}
Code:
public void punkteZeichnen(Graphics comp)
{
uhaftobjekt.setZählerFürDieAnzahlDerRechtecke(0);
int zaehlerX=5;
int zaehlerY=16;
int dasRaster = uhaftobjekt.getdasRasterInUHaft();
int SliderWert = uhaftobjekt.getSliderValue();
Dimension Bildschirmauflösung = Toolkit.getDefaultToolkit().getScreenSize();//bildschirmauflösung ermitteln
comp.setColor(Color.BLUE);
comp.clearRect(0,0,Bildschirmauflösung.width-120,Bildschirmauflösung.height);
comp.setClip(2,0,Bildschirmauflösung.width-120,Bildschirmauflösung.height);//setzt den bereich in dem gemalt werden darf
if (uhaftobjekt.getKnopfGedrückt()==true)
{
for (int ii=0; ii<=dasRaster-1; ii++) //Raster
{
for (int i=0; i<=dasRaster-1; i++) //Raster
{
//macht weisse rechtecke
comp.setColor(Color.white);
comp.fillRect(zaehlerX-SliderWert/2,zaehlerY-SliderWert/2,SliderWert,SliderWert);
arrPunkte[ii][i][0]=zaehlerX;//array-x
arrPunkte[ii][i][1]=zaehlerY;//array-y
//macheUnsichtbarerechtecke(zaehlerX-SliderWert/4,zaehlerY-SliderWert/4,SliderWert/2,SliderWert/2);
zaehlerX=zaehlerX+SliderWert;//jSlider1.getValue();
}
zaehlerY=zaehlerY+SliderWert;//jSlider1.getValue();
zaehlerX=5;
}
}
else
{
for (int ii=0; ii<=dasRaster-1; ii++) //Raster
{
for (int i=0; i<=dasRaster-1; i++) //Raster
{
//hier gibts die weissen quadrate...
comp.setColor(Color.white);
comp.fillRect(zaehlerX-SliderWert/2,zaehlerY-SliderWert/2,SliderWert,SliderWert);
//nächten 2 zeilen machen kontrollkästchen
//g.setColor(Color.blue);
//g.drawRect(zaehlerX-SliderWert/2,zaehlerY-SliderWert/2,SliderWert,SliderWert);
comp.setColor(Color.gray);
comp.fillOval(zaehlerX,zaehlerY,3,3);//5,5
arrPunkte[ii][i][0]=zaehlerX;//array-x
arrPunkte[ii][i][1]=zaehlerY;//array-y
macheUnsichtbarerechtecke(zaehlerX-SliderWert/2,zaehlerY-SliderWert/2,SliderWert,SliderWert);
zaehlerX=zaehlerX+SliderWert;
}
zaehlerY=zaehlerY+SliderWert;
zaehlerX=5;
}
Code:
public void schreiben(Graphics g)
{
String wert;
int a,b,c,d,n,k=0,i=-1;
g.setColor(Color.BLUE); //setzt hier die farbe der schrift
Font f = new Font("Dialog",Font.BOLD,12); //setzt hier die farbe der schrift
g.setFont(f);
n = atomobjekt.getWieVieleAtomeSchon();
d = uhaftobjekt.getSliderValue();
do
{
i++;
c=atomobjekt.getATOMnummer(i);
c=c+k;
a = (int) (rechteck[c].getX());
b = (int) (rechteck[c].getY());
a = a + (d/2)-6;
b = b + (d/2)+6;
wert = atomobjekt.getStrATOM(i);
g.drawString(wert, a, b);
}
while(i <= n);
}