मैं JScrollPanel
दृश्य चौड़ाई कैसे प्रतिबंधित कर सकता हूं? मैं किसी भी मामले में क्षैतिज स्क्रॉल नहीं करना चाहता हूं। मैंने अपने JViewport
की आपूर्ति करने की कोशिश की लेकिन इससे बहुत मदद नहीं मिलती है।JScrollPane दृश्य चौड़ाई को प्रतिबंधित करें
private static class WidthRestrictingViewport extends JViewport {
private Container contents;
public WidthRestrictingViewport(final Container cnts) {
contents = cnts;
}
@Override
public Dimension getPreferredSize() {
if (getParent() instanceof JScrollPane) {
JScrollPane sp = (JScrollPane) getParent();
return new Dimension(sp.getWidth(), contents.getHeight());
}
return super.getPreferredSize();
}
@Override
public Dimension getMaximumSize() {
return getPreferredSize();
}
}
और कोड बनाने JScrollPane
Container fpdp = ....
JScrollPane sp = new JScrollPane();
sp.setViewport(new WidthRestrictingViewport(fpdp));
sp.setViewportView(fpdp);
contents
उदाहरण है कि मैं आपूर्ति इसकी अधिकतम चौड़ाई लेता है, फिर भी मैं इसकी चौड़ाई से अधिक नहीं JScrollPane
चौड़ाई तो क्षैतिज स्क्रॉल अभ्यस्त हो बनना चाहता हूँ। मैं क्या गलत कर रहा हूं?
मुझे प्रश्न समझ में नहीं आता है। 'JScrollPane' की सामग्री के साथ क्या होना चाहिए जब यह व्यापक है तो 'JScrollPane' का वास्तविक आकार। बस काट लें? उस स्थिति में आप केवल स्क्रॉल बार को अदृश्य बनाने पर विचार कर सकते हैं ('JScrollPane # getHorizontalScrollBar # setVisible (false)'); – Robin
@ रॉबिन, कट ऑफ नहीं। फलक चौड़ाई स्क्रॉल करने के लिए दृश्य चौड़ाई हटाना। बस पैनल में सीमा लेआउट और सामग्री के साथ पैनल की कल्पना करें। लेकिन इस मामले में केवल सामग्री की चौड़ाई पैनल की चौड़ाई और सामग्री के साथ प्रतिबंधित है, इसकी ऊंचाई बढ़ने के साथ ही ऊंचाई बढ़ सकती है (स्क्रॉल बार जोड़ने के साथ)। –
मुझे नहीं लगता कि यह 'JViewPort' की ज़िम्मेदारी है कि वह इसके दृष्टिकोण पर प्रतिबंध लगाने के लिए जिस चौड़ाई को प्राप्त कर सके, यह दृश्य के बारे में अधिक है। ['स्क्रोलबे'] (http://docs.oracle.com/javase/7/docs/api/javax/swing/Scrollable.html) इंटरफ़ेस पर विशेष रूप से देखें ['स्क्रॉल करने योग्य # getScrollableTracksViewportWidth'] (http : //docs.oracle.com/javase/7/docs/api/javax/swing/Scrollable.html#getScrollableTracksViewportWidth%28%29) – MadProgrammer