есть JTabbedPane, добавляем туда JDesktopPane tab с default layout (т.е. NULL).
внутри этого tab хочу показать два internal frames, причем размеры (допустим, горизонтальные) этих internal frames хочу установить такие же, как у JdesktopPane tab.
Если использовать такую схему:
int maxWidth = tabbedPane.getWidth();
internalFrame.setSize(maxWidth, height);
то internal frame чуть-чуть не влезает, т.к. ширина должна быть чуть-чуть меньше из-за бордера.
а ширину бордера никак не удается узнать, везде пишется 0:
System.out.println(tabbedPane.getInsets());
System.out.println(mainFrame.getInsets());
System.out.println(desktopPane.getInsets());
--result--
java.awt.Insets[top=0,left=0,bottom=0,right=0]
java.awt.Insets[top=0,left=0,bottom=0,right=0]
java.awt.Insets[top=0,left=0,bottom=0,right=0]
то же самое, если
System.out.println(desktopPane.getInsets() + " -- " + desktopPane.getSize());
--result--
java.awt.Insets[top=0,left=0,bottom=0,right=0] -- java.awt.Dimension[width=0,height=0]
в общем, везде одни нули.
так как же правильно установить ширину и высоту internal frames с учетом размера JDesktopPane, в котором они лежат?