java - JPanel Preferred Size Not Being Set -


when preferred size of jpanel set if don't set explicitly?

i have following code:

private static class scrollablejpanel extends jpanel implements scrollable {     @override     public dimension getpreferredscrollableviewportsize() {                  return getpreferredsize();     }             .             .             . } 

and code:

    mypanel = new scrollablejpanel();             // add bunch of controls panel.     final jscrollpane scroll = new jscrollpane(mypanel);     scroll.setautoscrolls(true);     scroll.sethorizontalscrollbarpolicy(         scrollpaneconstants.horizontal_scrollbar_never); 

however, preferred size of mypanel @ time getpreferredscrollableviewportsize() being called seems arbitrary value, (4225, 34), , prefsizeset = false.

according java documentation, reasonable way define method. however, actual size of mypanel higher 34 pixels, view port way small.

what doing wrong here? should set preferred size of mypanel explicitly? tried that, want use actual size determined layout manager, not make guess overridden later.

note question isn't how set exact size jpanel. want layout manager that. nor want have explicitly set preferred size. thought handled layout manager. want know why layout manager not setting reasonable value preferred size can return reasonable preferredscrollableviewportsize.

the preferred size of jpanel based on components in panel. layout manager calculates preferred size of panel, based on preferred size of items in panel, , if of things panels, recursive calculation. if there no sub components in panel, preferred size have set explicitly.


Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -