对于东西南北方位的组件来说,它们都将在某个方向进行拉伸,另外一个方向则考虑preferedSize的对应分量,举个例子,一个panel放在北部,它的preferedSize是(200, 300),那么最终的结果一般为水平拉伸,而垂直高度为300;
在对东西南北方位的组件分配完空间之后,剩余的空间全部交给中间方位的组件。
另外要注意的是BorderLayout的真实布局也跟组件的添加顺序有关。
针对你的问题,需要根据JPanel的方位,设置对应的preferedSize分量:
panelsetPreferedSize()JFrame
的默认布局管理器是BorderLayout,BorderLayout将容器(也就是JFrame)分成东
西
南
北
中
五个部分,向JFrame添加控件时BorderLayout默认将控件的位置设置为中间位置,所以你的设置不起作用
看了你的问题是想通过坐标控制控件,所以要将JFrame的布局管理器设置为绝度布局,即
mainFramesetLayout(null);将布局管理器设置为null
向其中动态添加文字有两种实现方式
1、是重写JPanel的paintComponent(Graphics
g)方法2、是动态添加JLabel
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)