JAVA 获取父容器的大小问题

2020-08-31 科技 122阅读
如果你想要得到一个元件_排版后_的大小,就需要先进行排版。排版时调用的是preferred size(期望大小)
jf.setPreferredSize(new Dimension(500, 500));
jf.pack(); //进行排版
jta.getParent().getWidth() //484 //这里因为窗口有边界所以文本框小了
不过这里你会发现不管你怎么设置大小,例如
setSize()
setPreferredSize()
setBounds()
setMaximumSize()
你的文本框都会顽固的占用窗口全部大小。这是因为BorderLayout会忽视center部件的大小,强制最大化。
如果你只是想要给文本框加一个白边,可以这样
jp.setBorder(new EmptyBorder(10, 20, 30, 40)); //分别是 上,左,下,右
如果你想要更复杂的,就需要使用BorderLayout之外的布局。具体是什么要根据你的需要。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com