static JScrollPane jWiderScrollPane(final JComponent c) { ret swing(func -> JScrollPane { ret new JScrollPane(c) { public Dimension getPreferredSize() { Component view = getViewport().getView(); if (view == null) ret super.getPreferredSize(); int pref_height = view.getPreferredSize().height; setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); Dimension dim = new(super.getPreferredSize().width + getHorizontalScrollBar().getSize().width, pref_height); setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); ret dim; } }; }); }