2011-03-20 4 views
7

क्या JScrollPane के भीतर स्क्रॉलबार की मोटाई समायोजित करने का कोई तरीका है? डिफ़ॉल्ट गुस्सा है।स्क्रॉलबार मोटाई सेट करें

+0

मैंने नीचे एक और पूरा समाधान जोड़ा है, जो डिफ़ॉल्ट रूप और महसूस (धातु) के लिए काम करता है। मुझे पता है कि यह एक पुराना सवाल है, लेकिन जब मैं इसे समझने की कोशिश कर रहा था, तो मैं उस पर आया, इसलिए सोचा कि मैं वापस आऊंगा और साझा करूंगा। – xtempore

उत्तर

15

एक त्वरित लेकिन गंदे समाधान चौड़ाई/ऊंचाई को स्पष्ट रूप से उदाहरण के लिए सेट करना है

jScrollPane.getVerticalScrollBar().setPreferredSize(new Dimension(10, 0)); 
jScrollPane.getHorizontalScrollBar().setPreferredSize(new Dimension(0, 10)); 

अन्य रास्ता के माध्यम से 10 पिक्सल एक उचित ScrollBarUI प्रदान करने के लिए किया जाएगा।

+0

bullseye! धन्यवाद! – Sinaesthetic

+0

धन्यवाद! और मैं स्क्रॉलबार ऊपर/नीचे बटन का आकार कैसे सेट करूं? – rustyx

+0

यह दिशा बटन के लिए अजीब चीजें करता है। वैकल्पिक समाधान के लिए नीचे मेरा उत्तर देखें। – xtempore

2
int verticalScrollBarWidthCoefficient = 3; 

scrollPane.getVerticalScrollBar().setPreferredSize(new Dimension(
     (int) scrollPane.getVerticalScrollBar().getPreferredSize() 
       .getWidth() * verticalScrollBarWidthCoefficient, 
     (int) scrollPane.getVerticalScrollBar().getPreferredSize().getHeight() 
)); 
2

निम्नलिखित डिफ़ॉल्ट एलएनएफ (धातु) पर लागू होता है।

तुम सिर्फ एक विशिष्ट आकार सेट करना चाहते हैं, तो आप इस कोड को इससे पहले कि आप jScrollPane (जो भी आपके पसंदीदा आकार के साथ 40 की जगह) बनाने आप पैमाने पर करने चाहते हैं रख सकते हैं ...

UIManager.put("ScrollBar.width", 40); 

स्क्रॉलबार डिफ़ॉल्ट आकार तो कुछ इस तरह (इससे पहले कि आप jScrollPane बनाने) के आधार पर ...

UIManager.put("ScrollBar.width", (int) ((int) UIManager.get("ScrollBar.width") * 2.5)); 

आप jScrollPane चीजें बनाने के बाद यह बदलने के लिए थोड़ा अधिक जटिल हैं चाहते हैं, लेकिन बहुत बुरा नहीं ...

int scrollbarSize = <some dynamic value>; 
UIManager.put("ScrollBar.width", scrollbarSize); 
scrollPane.setVerticalScrollBar(scrollPane.createVerticalScrollBar()); 
scrollPane.setHorizontalScrollBar(scrollPane.createHorizontalScrollBar()); 

मुझे उम्मीद है कि किसी की मदद करेगा।

+0

यह केवल तभी काम करता है जब आपके पास निंबस लाफ न हो। यदि आपके पास है तो पहले तरीके से कोई प्रभाव नहीं पड़ता है और दूसरी तरफ त्रुटियां होती हैं क्योंकि 'UIManager.get (" ScrollBar.width ") == null' –

-1

मेरे लिए सबसे आसान तरीका jquery.jscrollpane.css फ़ाइल को सीधे संपादित करना था। की चौड़ाई बदल रहा है। :)