Java Draw Image repaint
lima-city → Forum → Programmiersprachen → Java
abhilfe
anwendung
aufrufen
ausprobieren
bescheid
code
dank
gezeichnet code
gezeichnetes bild
image
import
jemand
private string
problem
statement
string
tip
versuch
vorbereitet code
zeichnen
-
Hallo,
ich habe das Problem, dass mein gezeichnetes Bild immer wieder verschwindet. So z. B. wenn die Anwendung minimiert wird.
Hat jemand von euch einen Tipp für mich wie ich das behebe ?
Klasse, die das Image vorbereitet
package SongPlayer; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; import java.awt.Toolkit; import java.awt.image.ImageObserver; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class CLS_Cover_View implements ITF_Informed_by_Songchange{ private Image cover; private CLS_ActionDistributor actdist; private String img_filename; public CLS_Cover_View(CLS_ActionDistributor actdist){ this.actdist = actdist; actdist.add_Component_Informed_by_Songchange(this); img_filename="no_cover.jpg"; this.cover = Toolkit.getDefaultToolkit().getImage(img_filename); } public void query_img_via_song_pk_id(int pk_id){ get_filename_for_song_pkid(String.valueOf(pk_id)); this.cover = Toolkit.getDefaultToolkit().getImage(img_filename); } public void draw_img(Graphics g, int x, int y, int w, int h, ImageObserver imgob){ Graphics2D g2 = (Graphics2D)g; RenderingHints xxx = new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); xxx.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); xxx.put(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY); xxx.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); xxx.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.addRenderingHints(xxx); g2.drawImage(this.cover ,x, y, w, h,imgob); } private void get_filename_for_song_pkid(String pk_id){ // ... Code here } @Override public void current_song_changed(int newPkSongId) { query_img_via_song_pk_id(newPkSongId); } }
In der Gui Klasse wird ein JFrame erzeugt und die Klasse oben instanziert. Dann wird so bei mir gezeichnet
public void paint(Graphics g){ super.paint(g); this.cls_cover_view.draw_img(g, 5, this.getHeight() - 180, 170, 170, this); } public void update(Graphics g){ paint(g); }
Danke schon mal im Voraus für die Tipps -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo,
danke für den Tipp, das werde ich gleich mal ausprobieren und noch Bescheid geben ob
das Abhilfe schafft. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage