Why does `getPreferredSize()` get called only twice when `pack()` is called on a `JFrame`, like in the following example:
public class PackTest {
static JFrame f = new JFrame();
@SuppressWarnings("serial")
public static void main(String[] args) {
f.add(new JPanel() {
int i = 0;
@Override
public Dimension getPreferredSize() {
System.out.println("getPreferredSize() called");
if(i++ >= 2)
return new Dimension(200, 200); // This is never returned
else
return new Dimension(100, 100);
}
});
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
for(int i = 0; i
以上就是getPreferredSize() only called twice after pack()的详细内容,更多请关注web前端其它相关文章!