Hallo,
vor ab muss ich gestehen, dass ich leider nicht all zu viel Erfahrung bezüglich Swing und derer Paint Methodik habe.
Ich skaliere in meinem Programm ein BufferedImage "OnTheFly" mittels drawImage, was auch wunderbar funktioniert.
Hierzu habe ich mich sowohl hier im Forum als auch mit externen Links wie z.B.
The Perils of Image.getScaledInstance() | Java.net
oder
Malen in AWT und Swing - Byte-Welt Wiki informiert.
Überall lese ich, man sollte kein getGraphics verwenden sondern alle Malvorgänge in der paintComponent-Methode selber überschreiben. Ist doch richtig oder? Darunter leidet aber extrem die Geschwindigkeit meiner Software.
Hier mal mein Snippet:
[Java]
@Override
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D) g;
super.paintComponent(g);
g2.setColor(backgroundCol);
g2.fillRoundRect(0, 0, SIZE.width, SIZE.height, 10, 10);
g2.setColor(borderCol);
g2.setStroke(new BasicStroke(1.0f));
g2.draw(roundedRectangle);
g2.drawImage(img, scale.x, scale.y, scale.width, scale.height, null);
g2.setColor(Color.BLACK);
g2.setFont(font1);
g2.drawString(title, titleWidth, 90);
g2.dispose();
}
[/Java]
Vielleicht hab ich das auch komplett falsch verstanden, jedenfalls wäre ich sehr dankbar wenn mir jemand ein paar Tips geben könnte.
mfg
geneticZ
vor ab muss ich gestehen, dass ich leider nicht all zu viel Erfahrung bezüglich Swing und derer Paint Methodik habe.
Ich skaliere in meinem Programm ein BufferedImage "OnTheFly" mittels drawImage, was auch wunderbar funktioniert.
Hierzu habe ich mich sowohl hier im Forum als auch mit externen Links wie z.B.
The Perils of Image.getScaledInstance() | Java.net
oder
Malen in AWT und Swing - Byte-Welt Wiki informiert.
Überall lese ich, man sollte kein getGraphics verwenden sondern alle Malvorgänge in der paintComponent-Methode selber überschreiben. Ist doch richtig oder? Darunter leidet aber extrem die Geschwindigkeit meiner Software.
Hier mal mein Snippet:
[Java]
@Override
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D) g;
super.paintComponent(g);
g2.setColor(backgroundCol);
g2.fillRoundRect(0, 0, SIZE.width, SIZE.height, 10, 10);
g2.setColor(borderCol);
g2.setStroke(new BasicStroke(1.0f));
g2.draw(roundedRectangle);
g2.drawImage(img, scale.x, scale.y, scale.width, scale.height, null);
g2.setColor(Color.BLACK);
g2.setFont(font1);
g2.drawString(title, titleWidth, 90);
g2.dispose();
}
[/Java]
Vielleicht hab ich das auch komplett falsch verstanden, jedenfalls wäre ich sehr dankbar wenn mir jemand ein paar Tips geben könnte.
mfg
geneticZ