日期:2014-05-20 浏览次数:20605 次
import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class Test { public void service(){ JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // frame.setPreferredSize(new Dimension(200,200)); Container contentPane = frame.getContentPane(); JButton b1 = new JButton("测试"); b1.setPreferredSize(new Dimension(150, 150)); JPanel p1 = new JPanel(); p1.add(b1); contentPane.add(p1); // // frame.pack(); frame.setBounds(0, 0, 200, 200); frame.setLocationRelativeTo(null); frame.setVisible(true); } public static void main(String[] args) { Test t = new Test(); t.service(); } }
------解决方案--------------------
这个只能意会不能言传,我要说的话也就复制api的文档了。
楼主还是看看文档怎么写的吧。
------解决方案--------------------
一般情况如果你使用布局管理器,会根据组件的preferredSize计算大小。有的布局管理器会无视这个,比如
BoxLayout会忽略组件的宽或高,将组件设置成统一宽度/高度。