相关疑难解决方法(0)

获取多行flowlayout的首选大小

我无法找到一种在swing GUI中调整某些组件大小的方法.一些自定义标签正被添加到FlowLayout中,当调整对话框大小时,它不会表现如何.该小组正在使用jgoodies表单框架构建.

如果使用这个,将FlowLayout添加到xy(3,y)

FormLayout layout = new FormLayout("r:d, 5px, f:d:g", // columns
            "p, p, 5px, p, 5px, p") // rows
Run Code Online (Sandbox Code Playgroud)

FlowLayout展开并显示滚动条
tags_scroll

如果使用

FormLayout layout = new FormLayout("r:d, 5px, f:10:g", // columns
            "p, p, 5px, p, 5px, p") // rows
Run Code Online (Sandbox Code Playgroud)

FlowLayout使用可用空间,第二行上的项目消失
tags_vanish

我想将包含FlowLayout的每一行的高度扩展到组件的当前高度.不幸的是,首选大小始终对应于单行的高度.
另一种布局会更合适吗?左侧的粗体文本应右对齐,然后是FlowLayout.

来源

[编辑]在试图弄清楚如何执行这几周后,实际的问题可以恢复到这样:
一组标签被添加到JPanel.此JPanel应水平使用所有可用空间(对话框大小减去标签名称标签的宽度)并根据需要垂直展开.如果JPanel的高度比对话框大,则应显示垂直滚动条(水平滚动条永远不可见).对话框可以显示多个JPanel,它们将一个接一个地显示(垂直).

这是使用GridBagLayout和WrapLayout的尝试:

public class GridBagLayoutTagPanel extends JPanel {
private static final long serialVersionUID = -441746014057882848L;
private final int NB_TAGS = 5;

public GridBagLayoutTagPanel() {
    setLayout(new GridLayout());

    JPanel pTags = new JPanel(new GridBagLayout());
    pTags.setBackground(Color.ORANGE); …
Run Code Online (Sandbox Code Playgroud)

java swing resize jgoodies flowlayout

7
推荐指数
2
解决办法
2542
查看次数

标签 统计

flowlayout ×1

java ×1

jgoodies ×1

resize ×1

swing ×1