我有3个面板.一个是主面板,可容纳2个较小的面板.
对于主面板,我用过
setPreferredSize(new Dimension(350, 190));
对于较小的左侧面板,我使用了
setPreferredSize(new Dimension(100, 190));
对于较小的右侧面板,我用过
setPreferredSize(new Dimension(250, 190));
但较小的面板尺寸保持不变.我怎样才能解决这个问题?
这是我在主面板中的代码.
import model.*;
import java.awt.*;
import javax.swing.*;
public class Panel extends JPanel
{
public Panel(Prison prison)
{
setup();
build(prison);
}
private void setup()
{
setBorder(BorderFactory.createLineBorder(Color.blue));
setLayout(new BorderLayout(1, 1));
setPreferredSize(new Dimension(350, 190));
}
private void build(Prison prison)
{
JTabbedPane tab = new JTabbedPane();
tab.addTab("Input", null, new InputPanel(), "Input");
tab.addTab("Display", null, new DisplayPanel(), "Display");
add(tab);
}
}
解决方法:
不要这样做.
布局管理器的重点是允许动态调整大小,这不仅对于用户可调整大小的窗口而且还需要更改文本(国际化)和不同的默认字体大小和字体.
如果你只是use the layout managers correctly,他们会照顾面板尺寸.为了避免在用户增加窗口大小时让组件在整个屏幕上伸展,让最外面的面板具有左对齐的FlowLayout,并将UI的其余部分作为其单个子项 – 这将为UI提供其首选大小和任何盈余充满了背景色.
标签:java,user-interface,size,panel
来源: https://codeday.me/bug/20190522/1151545.html