मैं JPanel
की backgound पर एक gif एनिमेटेड छवि पेंट करने के लिए paintComponent()
उपयोग कर रहा हूँ। यह gif दिखाता है लेकिन एनिमेट नहीं करता है। मैं जावा 1.5 का उपयोग करता हूं और मुझे पता है कि मैं आइकन के साथ लेबल का उपयोग कर सकता हूं।पेंट कॉम्पोनेंट() में इसका उपयोग करते समय gif एनीमेशन एनिमेट क्यों नहीं करता है?
शरीर के किसी भी पता है क्यों और कैसे इसे ठीक करने के?
private static class CirclePanel extends JPanel {
ImageIcon imageIcon = new ImageIcon(BarcodeModel.class.getResource("verify.gif"));
Point point = f.getLocation();
protected void paintComponent(Graphics g) {
Graphics gc = g.create();
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.3f));
g2d.setColor(Color.BLUE);
g2d.drawImage(imageIcon.getImage(), getWidth()/2, getHeight()/2, null);
g2d.drawRect(0, 0, getWidth(), getHeight());
g2d.setStroke(new BasicStroke(10f,BasicStroke.CAP_ROUND,BasicStroke.JOIN_MITER));
g2d.setFont(g.getFont().deriveFont(Font.BOLD | Font.ITALIC,15f));
g2d.drawString("Wait Please ...",getWidth()/2-imageIcon.getIconHeight()/3,getHeight()/2+imageIcon.getIconHeight()+15);
g2d.dispose();
}
यह gif छवि है।
संपादित: सिर्फ विधि g2d.drawImage() करने के लिए छवि प्रेक्षक जोड़ें।
g2d.drawImage(imageIcon.getImage(), getWidth()/2, getHeight()/2, this);
संभव डुप्लिकेट [स्विंग में एनिमेटेड बीजी दिखाएं] (http://stackoverflow.com/questions/10836832/show-an-animated-bg-in-swing) –