问题标签 [miglayout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1846 浏览

java - MigLayout 宽度 - 单元格还是组件?

我从文档中不清楚 - 当我指出单元格宽度时

我是要求单元格或单元格中的组件的最小:首选项:最大宽度吗?

0 投票
1 回答
1755 浏览

java - MigLayout 收缩行为

使用下面定义的 JPanel(嵌入在 JSplitPane 中的 JTabPanel 中):

如果我最大化,面板将正确重绘为新尺寸面板未重绘为预期尺寸

我希望(并期望)如果我最大化然后最小化,屏幕将重新绘制为其原始配置。我错过了什么?如果重要的话,所有 JTextArea 字段都是换行的。

编辑:

这是一个更简单的示例 - 问题似乎与设置了换行的 JTextArea 有关。JFrame 中的以下代码重新创建了该问题:

0 投票
3 回答
2310 浏览

java - JTable 不显示列标题

这是我第一次使用 GUI,所以我不确定是什么导致了问题。我的大学有一个任务。该项目是为各种目的制作一种“产品管理”程序。除了 GUI,整个事情都完成了,这就是我不明白为什么它JTable不会显示列标题的地方。这是代码(顺便说一句,使用 MIGLayout)

0 投票
2 回答
1679 浏览

swing - MigLayout 被 JScrollBar 对象中包含的 JTable 对象混淆

似乎 MigLayout 被 JScrollPane 对象中包含的 JTable 对象弄糊涂了。由于在 JScrollPane 中包含 JTable 似乎是一种常见的习惯用法,我认为找出原因很重要。

在随附的示例程序中,创建了一个简化的表格,由 12 行和 4 列组成。所有宽度和高度都设置为百分比。许多组件被添加到表单中,全部按单元格位置。一些跨行或列。最后一列显示单元格行索引和大小百分比。

如果程序以“JLabel”参数启动,则 JSCrollPane 中包含的 JLabel 将添加到第 0 列,所有对齐看起来都很好。如果程序以参数“JTable”启动,所有列的行大小都会被打乱。

这是错误还是功能?

注意:如果下面的代码出现混淆(没有标签),我尝试了各种粘贴方法 - 我无法让预览看起来正确。让我知道是否有什么可以解决的。

0 投票
1 回答
542 浏览

java - Java Miglayout 间隙推送无法按预期工作

我想使用 MiG Layout 实现本示例中的布局。所以最后一个 JButton 位于 JFrame 的底部。

我的问题是我要添加的 JButton 的数量是可变的,所以我不能使用 MiG 布局中的行定义,所以我尝试了这段代码(和几个派生)

但不幸的是,这不能按预期工作。

有什么建议么?提前致谢。

0 投票
2 回答
911 浏览

java - 使用 MigLayout 用两个组件填充整个单元格

我有两个组件,我希望它们都填充MigLayout中的同一个单元格:

例如,我想给这两个组件约束是这样的:

并让它们在内部完全重叠放置cell 0 0

(如果我只使用上面的代码,它们最终会在单元格中并排共享空间)

为了实现这一点,我必须向MigLayout约束添加什么?

0 投票
2 回答
1422 浏览

java - MigLayout的push、grow、fill有什么区别?

我看到grow并接受了一个可选的加权参数,但除此之外: 、和push之间的真正区别是什么?文档对此不是很清楚。growfillpush

0 投票
0 回答
1050 浏览

jtable - 选项卡式页面中的 JScrollPanes 中的 MigLayout 和 JTables

我本着回馈的精神提交了以下实施的组件。该组件满足了我客户的要求,所以我本身并不是在寻求帮助。但是该组件提供了可能对其他人有用的有趣功能。

此外,它提出了一些关于明显必要的黑客攻击的问题,而且我的实现可能比必要的复杂得多。任何建议的替代解决方案也可能对其他人有用。

简而言之,一个大型数据表被拆分为多个 JTable,每个页面中都有一个多选项卡 JTabPane。

如果您运行该程序并以各种方式调整它的大小,您将看到该组件的行为方式。明确地,要求是:

  1. 将显示具有不同数量记录(1 到 500)的表格数据集。

  2. JTabbedPane 包含一个或多个选项卡,每个选项卡仅包含一个 JScrollPane。

  3. JScrollPanes 不能有垂直滚动条,可能有水平滚动条。

  4. 每个 JScrollPane 都包含一个 JTable。

  5. JTabbedPane 中总是有足够的选项卡来共同包含其 JTable 中的所有数据行。

  6. JTabbedPane 大小随应用程序 JFrame 大小而变化。

  7. 应用程序可以通过鼠标拖动自由调整大小。

  8. 在初始化时,无论何时调整应用程序的大小,JTabbedPane 都会重新构建,并使用足够的选项卡页来保存所有记录。例如,对于 100 条记录,如果在特定的面板大小下,选项卡的表格可以容纳 8 条记录,则创建 13 个选项卡。

  9. 如果 JTabbedPane 的大小减小到太小而无法容纳容纳所有数据行所需的选项卡数量,则不会显示任何内容(或仅显示警告)。

对 Java、MigLayout 及其交互有学术兴趣的人可能需要考虑四点:

  1. 在源代码中的某个点是以下函数调用:

    tb = tabbedPane.getBoundsAt(0);

这是一个黑客。我看不出这个呼召在世上有什么需要;然而它(或其他东西)是必要的。

  1. 从理论上讲, ScrollPane.getViewportBorderBounds() 应该给我计算标签页表格大小的信息,但我不得不破解一个值。我错了,还是在我使用它的地方返回了不正确的信息?

  2. 有一组令人眼花缭乱的函数——paint()、repaint()、validate()、invalidate()、revalidate()、update()。我发现需要在正确的时间调用特定的函数。调用顺序通常(尽管并非总是很明显)非常重要。这组函数确实可以使用严格但清晰的文档来记录它们与 AWT、Swing 以及彼此之间的交互。他们与布局管理器的交互,特别是与 MigLayout 的交互也可以使用解释。

  3. 有没有使用比我使用的方法简单得多的通用 Java 来解决需求?我重新发明轮子只是为了得到拖拉机的胎面吗?

制作:javac -classpath ScrollTableTest.java

用法:java -classpath ScrollTableTest [总数据行数]

0 投票
6 回答
1613 浏览

java - 哪种布局可以做到这一点?

我正在尝试在我的应用程序中布局一些 JLabel,如下例所示:

在此处输入图像描述

我总是在中间有这个 JLabel,其他 JLabel 的数量是可变的,它可以从 1 到 30。我尝试了网格布局,方法是选择大量的列/行并在空白处设置一些空的 JLabel,但我不能得到一个好的结果,也找不到如何用MigLayout 来做,有没有人有一个好的布局解决方案或任何其他解决方案。

PS:我不想显示圆圈,这只是为了显示 JLabels 排列在一个圆圈中。

0 投票
1 回答
895 浏览

java - 为什么 MigLayout 不拉伸此表格单元格的大小以适应网格?

下面是我使用 Java Swing 和 MigLayout 作为主要布局管理器创建的 GUI 的屏幕截图。“游戏板”保持了尽可能小的尺寸,但这不是理想的行为。我希望它JPanel一直延伸到右侧和底部。

为什么布局的行为不像我预期的那样?我可以改变这种行为吗?

图形用户界面

以下是主窗口中的相关代码:

前三个组件都有一个TitledBorder. 它们是JPanel带有MigLayout.