public void run() { // TODO Resize the data panel to make as much space as possible int h = centerSplitPane.getHeight(); int nPanes = centerSplitPane.getPaneCount(); double prefHeight = 0; for (int i = 0; i < nPanes; i++) { prefHeight += centerSplitPane.getPaneAt(i).getPreferredSize().getHeight(); } double ratio = h / prefHeight; int pos = 0; for (int i = 0; i < nPanes - 1; i++) { pos += (int) (ratio * centerSplitPane.getPaneAt(i).getPreferredSize().getHeight()); centerSplitPane.setDividerLocation(i, pos); } } });