2012-01-06 12 views
8

मैं यादृच्छिक पदों (x, y) पर JPanel में कुछ बटन रखना चाहता हूं, और ये लेआउट कक्षाएं परेशान हैं।मनमाने ढंग से प्लेस घटक (x, y) निर्देशांक

स्विंग में यह भी संभव है? के रूप में "लेआउट प्रबंधक"

+4

विभिन्न [लेआउट प्रबंधक] (http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html) के बारे में जानना बेहतर है। – trashgod

+1

नहीं, आप निश्चित रूप से किसी भी स्विंग लेआउट को मैन्युअल रूप से नहीं करना चाहते हैं। और नहीं, लेआउट प्रबंधक के बारे में कुछ भी परेशान नहीं है - सिवाय इसके कि आपको लगता है कि सीखना खुद में परेशान है ;-) – kleopatra

+1

सभी लोग ओप का अनुमान लगा रहे हैं? हो सकता है कि उसे बटन की स्थिति पर पूर्ण नियंत्रण की आवश्यकता हो (उदाहरण के लिए किसी प्रकार के गेम में जहां वे घूमते हैं और उपयोगकर्ता को उन्हें मारना पड़ता है)। – fortran

उत्तर

9

आप निर्देशांक निर्धारित कर सकते हैं अगर आप एक अशक्त लेआउट का उपयोग करें:

panel.setLayout(null); 
Button b = new Button(....); 
panel.add(b); 
b.setSize(width, height); 
b.setLocation(x,y); 

लेकिन यह दृढ़ता से लेआउट का उपयोग करने के लिए सिफारिश की है। लेआउट कक्षाएं "कष्टप्रद" नहीं हैं, यदि आप उन्हें सही ढंग से समझते हैं तो वे आपके मित्र हैं।

मैं tutorial about GridBagLayout पढ़ने का प्रस्ताव करता हूं, यह समझना आसान है (थोड़े एचटीएमएल टेबल) और बहुत शक्तिशाली।

+0

+1 लेआउटमैनेजर्स की सिफारिश करने के लिए +1, मैनुअल लेआउट को अपूर्ण रूप से करने के लिए -0.5 (हैच, अच्छी तरह से प्रबंधकों की उपयोगिता को बढ़ावा देना ... :-) – kleopatra

+0

सहमत है, इसे संपादित किया गया। – Stephan

4
+2

NullLayout के रूप में जाना जाता है :) – Tobias

+2

जो मैंने संपादन से पहले लिखा था, लेकिन फिर मुझे एहसास हुआ कि कोई भी उस वर्ग की तलाश करने का प्रयास कर सकता है जैसे कि^_^ – fortran

+0

याह, ठीक है;) – Tobias