JFrame

2012-03-08 13 views
5

में विंडो खींचना मैं java.awt/javax.swing का उपयोग कर एक बड़ी विंडो के अंदर एक अलग ग्राफिक्स विंडो (एक अलग कार्टेशियन समन्वय विमान के साथ) रखना चाहता हूं, मैंने आपको यह दिखाने के लिए picture खींचा है ।JFrame

मुझे पता नहीं है कि यह कैसे करना है, मुझ पर साहित्य की किसी तरह फेंक है कि मैं इस बेहतर समझने के लिए वास्तव में बहुत अच्छा होगा पढ़ सकते हैं, कि के साथ मेरी समस्या के लिए एक समाधान भयानक होगा।

पीएस। मैंने वास्तव में कुछ भी करने की कोशिश नहीं की है, क्योंकि मुझे नहीं पता कि क्या प्रयास करना है।

+2

आपको वास्तव में स्विंग ट्यूटोरियल में जाना चाहिए और पढ़ना शुरू करना चाहिए। JFrames, JPanels, और स्विंग के साथ ड्राइंग पर पढ़ें। आपको कहां से शुरू करना है इसके बारे में कुछ अच्छे विचार देना चाहिए। आप जावा ट्यूटोरियल के हिस्से के रूप में ट्यूटोरियल पा सकते हैं: [वास्तव में बड़ा सूचकांक] (http://docs.oracle.com/javase/tutorial/reallybigindex.html)। StackOverflow के लिए इस सवाल को बंद करने के लिए बहुत व्यापक और संदिग्ध होने के लिए मतदान करना। –

+0

किसी ने आंतरिक फ्रेम का उपयोग करने का उल्लेख किया - बुरा विचार। इसके बजाय बस अपने पेंट कॉम्पोनेंट विधि को ओवरराइड करके ड्राइंग के लिए एक जेपीनेल का उपयोग करें, और उचित लेआउट प्रबंधकों का उपयोग करके अपने जेपीनल में रखें। फिर, ट्यूटोरियल आपको यह सब समझाएंगे। –

+0

ग्रेट विवरण (आरेख) बीटीडब्ल्यू। एक तस्वीर हजारों शब्दों को चित्रित करती है, और वह छवि <11 केबी है। :) –

उत्तर

4

देख मैं NetBeans डाउनलोड करने की अनुशंसा के साथ शुरू करने के लिए के रूप में यह यूआई डिजाइन मैं के बारे में पता करने के लिए सबसे आसान आईडीई है।

  1. अपने आवेदन का मुख्य फ्रेम बनाने के साथ शुरू करें।
  2. आपको आवश्यक सभी बटन जोड़ें और मुख्य फ्रेम पर अपनी तस्वीर के रूप में उन्हें स्थिति दें।
  3. अपने फ्रेम में JPanel जोड़ें और इसे drawingCanvasPanel पर कुछ कॉल करें। यह पैनल ड्राइंग क्षेत्र होगा। पैनल के painComponent विधि को ओवरराइड करना न भूलें जिसमें आप पैनल के Graphics का उपयोग करके अपने कस्टम चित्र और आकार खींचेंगे।
+3

नेटबीन के लिए +1। @Johan: जब तक आप [लेआउट] (http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html) समझते हैं, तब तक जीयूआई संपादक के आकर्षण को झुकाएं। – trashgod

+0

काफी आसान लगता है, मैं और अधिक जानने के लिए थोड़ा सा Google पर जाऊंगा। @trashgod: हाँ, यह वही है जो मैं वैसे भी कर रहा था (लेआउट का उपयोग करके)। नेटबीन्स सलाह पर: धन्यवाद लेकिन मैं Emacs के साथ रहूंगा, यही वह है जिसका मैं उपयोग करता हूं और यह काफी अच्छा काम करता है। – Johan

+0

@ जोहान ग्लेड ने इसकी मदद की :) Emacs के साथ शुभकामनाएं, कच्चे लेआउट कोड के साथ खेलने के अलावा लेआउट को समझने के अलावा बेहतर तरीका नहीं है (आईडीई के बजाय आपके लिए सभी काम कर रहे हैं :)) – GETah

-1

आप आंतरिक फ्रेम्स का उपयोग कर सकते है, यह कैसे उपयोग करने के लिए,, official tutorial

+0

नहीं, यह निश्चित रूप से ऐसी स्थिति नहीं है जहां आंतरिक फ्रेम का उपयोग किया जाना चाहिए। नेस्टेड जेपीनेल हाँ, लेकिन आंतरिक फ्रेम बनाने का कोई कारण नहीं है। –

+0

वह एक और खिड़की के अंदर एक खिड़की चाहता है, जहां तक ​​मुझे पता है, आंतरिक फ्रेम ऐसा करता है। –

+0

क्षमा करें अगर आपको गलत समझा जाता है, तो मैं खिड़की के अंदर एक खिड़की की तलाश नहीं कर रहा था (नज़दीकी बटन के साथ और इसलिए मेरा मतलब है), अन्य लोगों को लगता है कि मेरा क्या मतलब है। फिर भी धन्यवाद! – Johan

4

मैं के रूप में चर्चा here, बाईं ओर एक JPanel में paintComponent() ओवरराइड चाहते हैं। JButtonBoxLayout में दाईं ओर जा सकता है, जैसा कि here दिखाया गया है। संबंधित उदाहरण भी देखें, LinePanel

+0

यह भी विचार करें ['JFreeChart' ] (http://stackoverflow.com/tags/jfreechart/info)। – trashgod