/ / JSplitPane + MiGLayout: आनुपातिक ऑटोरेसेज़िंग को कैसे सक्षम करें - जावा, स्विंग, माइगेलआउट, jsplitpane

JSplitPane + MiGLayout: आनुपातिक ऑटोरेसाइजिंग को सक्षम करने के लिए कैसे - जावा, स्विंग, माइगलेआउट, जेएसप्लिटपेन

एक फॉलोअप सवाल मेरे दूसरे को;

मैं आनुपातिक आकार बदलने को कैसे सक्षम करूं? मैंने सोचा था कि यह काम करेगा लेकिन यह "t:

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import net.miginfocom.swing.MigLayout;

public class SplitPaneQuestion {
public static void main(String[] args) {
JFrame frame = new JFrame("SplitPaneQuestion");
JPanel panel = new JPanel();
frame.setContentPane(panel);
panel.setLayout(new MigLayout("","[]","[grow]"));
JSplitPane splitpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
panel.add(splitpane, "push, grow");

splitpane.setTopComponent(new JButton("top"));
splitpane.setBottomComponent(new JButton("bottom"));
splitpane.setDividerLocation(0.333);

frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

जब मैं शीर्ष / नीचे बटन आकार के अनुपात के लिए स्थिर होना चाहूंगा, जब मैं संपूर्ण फ्रेम का आकार बदलूंगा। (डिफ़ॉल्ट रूप से 1: 2 अनुपात के साथ)

मैं यह कैसे कर सकता हूँ?

उत्तर:

उत्तर № 1 के लिए 6
splitPane.setResizeWeight(0.333);

जवाब के लिए 2 № 2

मैं "MigLayout के लिए बात नहीं कर सकता, जिसे मैं नहीं जानता। हालांकि, मेरे दिमाग में, उस मुद्दे का सबसे अच्छा समाधान स्विंग-जेनेरिक है: आप एक जोड़ते हैं" ComponentListener अपने JSpiltPane और आकार अनुपात से निर्मित गुणांक द्वारा इसके निहित घटक का आकार बदलें।