Si dovrebbe usare setDividerLocation(double proportionalLocation)
per determinare la distribuzione spazio iniziale del JSplitPane
, e quindi chiamare setResizeWeight(double)
con lo stesso valore per garantire che le lastre vengono ridimensionate in proporzione.
Inoltre, essere consapevoli: Chiamare setDividerLocation(double)
prima della JSplitPane
è visibile non funziona correttamente, come il calcolo dello spazio si basa su dimensioni attuali s' il Component
. Invece è necessario coinvolgere un brutto hack, come ad esempio ignorando s' metodo paint l'JPanel
che contiene il JSplitPane
:
private boolean painted;
@Override
public void paint(Graphics g) {
super.paint(g);
if (!painted) {
painted = true;
splitPane.setDividerLocation(0.25);
}
}
setResizeWeight (doppia) viene utilizzato solo per "distribuire spazio in più quando la dimensione dei cambiamenti riquadro split". Non determina la distribuzione dello spazio iniziale. – Adamski