发布网友 发布时间:2024-12-25 16:57
共1个回答
热心网友 时间:2分钟前
如果你想要得到一个元件_排版后_的大小,就需要先进行排版。排版时调用的是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之外的布局。具体是什么要根据你的需要。