日期:2014-05-20  浏览次数:20797 次

Java怎么调整JFrame大小
borderLayout = new BorderLayout();
frame.setLayout(borderLayout);
tableManager = new TableManager(headNames, tableContents);
table = new JTable(tableManager.getDefaultTableModel());
TableBase.FitWidth(table);
table.addMouseListener(new RunMouseAction());
scrollPane = new JScrollPane(table);
frame.add(scrollPane, BorderLayout.CENTER);
frame.add(infoPanel, BorderLayout.SOUTH);
frame.setVisible(true);
  frame.pack();
其中,测试的时候table与scrollPane的宽度都是0
用pack()方法时,将窗口宽度设为了infoPanel的宽度
可table的显示宽度要大于infoPanel的宽度,我想把JFrame的宽度设为刚好容纳scrollPane的宽度 
有办法吗?

------解决方案--------------------
设置该 scrollPane 的 preferredSize
------解决方案--------------------
探讨
scrollPane中table的实际宽度是不确定的,根据其内容的大小动态改变宽度
怎么设置preferedSize?