जावावर्ल्ड का JScrollableDesktopPane
अब उनकी वेबसाइट पर उपलब्ध नहीं है। मैंने इसकी कुछ प्रतियां साफ़ करने में कामयाब रहे लेकिन उनमें से कोई भी काम नहीं करता।
मैंने जो सरल समाधान प्राप्त किया है वह निम्नलिखित की तरह कुछ हासिल किया जा सकता है। यह सबसे सुंदर नहीं है लेकिन यह निश्चित रूप से डिफ़ॉल्ट व्यवहार से बेहतर काम करता है।
public class Window extends Frame {
JScrollPane scrollContainer = new JScrollPane();
JDesktopPane mainWorkingPane = new JDesktopPane();
public Window() {
scrollContainer.setViewportView(mainWorkingPane);
addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent evt) {
revalidateDesktopPane();
}
});
}
private void revalidateDesktopPane() {
Dimension dim = new Dimension(0,0);
Component[] com = mainWorkingPane.getComponents();
for (int i=0 ; i<com.length ; i++) {
int w = (int) dim.getWidth()+com[i].getWidth();
int h = (int) dim.getHeight()+com[i].getHeight();
dim.setSize(new Dimension(w,h));
}
mainWorkingPane.setPreferredSize(dim);
mainWorkingPane.revalidate();
revalidate();
repaint();
}
}
विचार आकार (या नए तत्वों को जोड़ने) पर एक JScrollPane
में JDesktopPane
रैप करने के लिए, मुख्य फ्रेम पर एक आकार बदलने श्रोता जोड़ने और फिर मूल्यांकन JDesktopPane
की सामग्री को किया जा रहा है।
आशा है कि इससे किसी को वहां मदद मिलेगी।
यह वास्तव में मेरा वर्तमान समाधान भी है, लेकिन मैं इसके साथ रोमांचित नहीं हूं। मैंने अपनी खुद की परियोजना शुरू करने से पहले यहां पूछने का फैसला किया कि मुझे वह पसंद है जो मुझे पसंद है। –