swing - Java draw component on java.awtGraphics -
i have method creates buffered image , want able create progress bar , paint onto buffered image. idea how can achieve please?
public void paint() { bufferedimage img = new bufferedimage(100, 100, bufferedimage.type_int_argb); graphics g = img.getgraphics(); jprogressbar pb = new jprogressbar(); //draw progress bar on graphics g ??? }
yours appears xy problem in don't want add or remove components inside of painting method. i'm going assume want place jprogressbar onto component shows image, , best, create class extends jpanel, override paintcomponent method, draw image in method override, , add jprogressbar jpanel (but not within paint or paintcomponent method).
e.g.
public class mypanel extends jpanel { private bufferedimage image; private jprogressbar progressbar = new jprogressbar(); public mypanel() { // image here add(progressbar); } public dimension getpreferredsize() { dimension size = super.getpreferredsize();; if (image == null) { return size; } else { int w = math.max(image.getwidth(), size.width); int h = math.max(image.getheight(), size.height); return new dimension(w, h); } } protected void paintcomponent(graphics g) { super.paintcomponent(g); if (image != null) { g.drawimage(image, 0, 0, null); } } }
Comments
Post a Comment