के लिए जावा में एक ड्रा आयताकार (काला रंग से भरा) फ़ंक्शन बनाना, मैंने अपने प्रोग्राम में एक ग्रिड बनाया है। नीचे ग्रिड बनाने के लिए इस्तेमाल किया गया कोड है।एक ग्रिड
import java.awt.Graphics;
import javax.swing.JComponent;
import javax.swing.JFrame;
class Grid extends JComponent {
public void paint(Graphics g) {
g.drawRect (10, 10, 800, 500);
for (int i = 10; i <= 800; i+= 10)
g.drawLine (i, 10, i, 510);
for (int i = 10; i <= 500; i+= 10)
g.drawLine (10, i, 810, i);
}
}
public class CoreControl {
public static void main(String[] a) {
JFrame window = new JFrame();
window.setSize(840,560);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.getContentPane().add(new Grid());
window.setVisible(true);
}
}
मुझे क्या करना चाहते हैं एक समारोह जो एक आयत (काले रंग से भरा) निर्देशांक है कि मैं इसे देने के आधार पर आकर्षित करेगा बनाने के लिए है। असल में मैं ग्रिड की कुछ कोशिकाओं को काले रंग के साथ पॉप्युलेट करना चाहता हूं और मेरा विचार सेल निर्देशांक पर काले भरे आयताकारों को आकर्षित करना है। मैं यह कार्य कैसे करूं?
मैंने drawRectangle नामक एक और वर्ग बनाने की कोशिश की और इसे मुख्य समारोह में कहा जैसे खिड़की .getContentPane()। जोड़ें (नया drawRectangle()); हालांकि यह काम नहीं किया (केवल drawRectangle दिखाता है और ग्रिड नहीं)।
मैं भी आयताकार बनाने के लिए बार-बार इस फ़ंक्शन का उपयोग करने में सक्षम होना चाहता हूं।
मैं यह फ़ंक्शन कैसे बना सकता हूं?
यदि आप एक बेहतर तरीका जानते हैं कि मुझे इस कार्यक्रम की संरचना करनी चाहिए तो कृपया मुझे बताएं (मैं जावा में नया हूं इसलिए मैं किसी भी सुझाव के लिए खुला हूं)।
इस के साथ अपडेट किया भीतर सेल को भरने बेवकूफ लग सकता है लेकिन w/e मैं जावा के लिए नया हूँ। मैं Graphics.fillRect (int, int.int, int) का उपयोग कैसे करूं? अभी यह है कि इसका उपयोग कैसे करना है: फ़ंक्शन drawRectangle (int x1, int y1, int x2, int y2) {Graphics.fillRect (int, int.int, int)} क्या यह संभव है? क्या प्रोग्राम स्वचालित रूप से फ्रेम में आयताकार जोड़ता है? –
संख्या 'fillRect' 'ग्राफिक्स' की एक विधि है, आपको' ग्राफिक्स 'संदर्भ के संदर्भ की आवश्यकता है। सभी पेंटिंग को 'पेंट' विधि (अधिमानतः 'पेंट कॉम्पोनेंट') के संदर्भ में किया जाना चाहिए। आपकी 'ग्रिड' कक्षा में मैं 'fillGrid (int x, int y)' जैसी कुछ विधि प्रदान करता हूं जो आपको बताता है कि कौन सा सेल भरना है। आपके 'पेंट कॉम्पोनेंट' विधि में, मैं इस सेल के आयताकार सीमाओं को निर्धारित करता हूं और 'fillRect' (ps मैंने जवाब अपडेट किया है;) का उपयोग करके भरें) – MadProgrammer
ठीक है तो fillRect का परीक्षण करने के लिए मैंने सार्वजनिक शून्य रंग जोड़ा है (ग्राफिक्स जी , int x, int y) { \t g.fillRect (x, y, 10, 10); ग्रिड क्लास में }। मैं इस फ़ंक्शन का उपयोग कैसे करूं? –