पेंट() और रीपेंट()
- पेंट (): यह विधि इस घटक को पेंट करने के लिए निर्देश रखती है। जावा स्विंग में, हम पेंट कॉल के रूप में पेंट () विधि के बजाय पेंटकंपोनेंट () विधि को बदल सकते हैं पेंटबॉर्डर (), पेंटकंपोनेंट () और पेंटचिल्ड्रेन () तरीके। हम इस विधि को सीधे कॉल नहीं कर सकते इसके बजाय हम repaint() . को कॉल कर सकते हैं ।
- फिर से रंगना () :इस विधि को ओवरराइड नहीं किया जा सकता है। यह अद्यतन () -> पेंट () . को नियंत्रित करता है चक्र। हम खुद को फिर से रंगने के लिए एक घटक प्राप्त करने के लिए इस विधि को कॉल कर सकते हैं। यदि हमने घटक के रूप को बदलने के लिए कुछ भी किया है लेकिन आकार को नहीं तो हम इस विधि को कह सकते हैं।
उदाहरण
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; public class PaintRepaintTest extends JPanel implements MouseListener { private Vector v; public PaintRepaintTest() { v = new Vector(); setBackground(Color.white); addMouseListener(this); } public void paint(Graphics g) { // paint() method super.paint(g); g.setColor(Color.black); Enumeration enumeration = v.elements(); while(enumeration.hasMoreElements()) { Point p = (Point)(enumeration.nextElement()); g.drawRect(p.x-20, p.y-20, 40, 40); } } public void mousePressed(MouseEvent me) { v.add(me.getPoint()); repaint(); // call repaint() method } public void mouseClicked(MouseEvent me) {} public void mouseEntered(MouseEvent me) {} public void mouseExited(MouseEvent me) {} public void mouseReleased(MouseEvent me) {} public static void main(String args[]) { JFrame frame = new JFrame(); frame.getContentPane().add(new PaintRepaintTest()); frame.setTitle("PaintRepaint Test"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setSize(375, 250); frame.setVisible(true); } }
उपरोक्त कार्यक्रम में, यदि हम स्क्रीन पर क्लिक करते हैं जो वर्गों को आकर्षित करने में सक्षम है। माउसप्रेस () . में विधि, हम repaint() . को कॉल कर सकते हैं विधि।
आउटपुट