问题标签 [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.
java - MigLayout 宽度 - 单元格还是组件?
我从文档中不清楚 - 当我指出单元格宽度时
我是要求单元格或单元格中的组件的最小:首选项:最大宽度吗?
java - MigLayout 收缩行为
使用下面定义的 JPanel(嵌入在 JSplitPane 中的 JTabPanel 中):
如果我最大化,面板将正确重绘为新尺寸面板未重绘为预期尺寸
我希望(并期望)如果我最大化然后最小化,屏幕将重新绘制为其原始配置。我错过了什么?如果重要的话,所有 JTextArea 字段都是换行的。
编辑:
这是一个更简单的示例 - 问题似乎与设置了换行的 JTextArea 有关。JFrame 中的以下代码重新创建了该问题:
java - JTable 不显示列标题
这是我第一次使用 GUI,所以我不确定是什么导致了问题。我的大学有一个任务。该项目是为各种目的制作一种“产品管理”程序。除了 GUI,整个事情都完成了,这就是我不明白为什么它JTable
不会显示列标题的地方。这是代码(顺便说一句,使用 MIGLayout)
swing - MigLayout 被 JScrollBar 对象中包含的 JTable 对象混淆
似乎 MigLayout 被 JScrollPane 对象中包含的 JTable 对象弄糊涂了。由于在 JScrollPane 中包含 JTable 似乎是一种常见的习惯用法,我认为找出原因很重要。
在随附的示例程序中,创建了一个简化的表格,由 12 行和 4 列组成。所有宽度和高度都设置为百分比。许多组件被添加到表单中,全部按单元格位置。一些跨行或列。最后一列显示单元格行索引和大小百分比。
如果程序以“JLabel”参数启动,则 JSCrollPane 中包含的 JLabel 将添加到第 0 列,所有对齐看起来都很好。如果程序以参数“JTable”启动,所有列的行大小都会被打乱。
这是错误还是功能?
注意:如果下面的代码出现混淆(没有标签),我尝试了各种粘贴方法 - 我无法让预览看起来正确。让我知道是否有什么可以解决的。
java - Java Miglayout 间隙推送无法按预期工作
我想使用 MiG Layout 实现本示例中的布局。所以最后一个 JButton 位于 JFrame 的底部。
我的问题是我要添加的 JButton 的数量是可变的,所以我不能使用 MiG 布局中的行定义,所以我尝试了这段代码(和几个派生)
但不幸的是,这不能按预期工作。
有什么建议么?提前致谢。
java - MigLayout的push、grow、fill有什么区别?
我看到grow
并接受了一个可选的加权参数,但除此之外: 、和push
之间的真正区别是什么?文档对此不是很清楚。grow
fill
push
jtable - 选项卡式页面中的 JScrollPanes 中的 MigLayout 和 JTables
我本着回馈的精神提交了以下实施的组件。该组件满足了我客户的要求,所以我本身并不是在寻求帮助。但是该组件提供了可能对其他人有用的有趣功能。
此外,它提出了一些关于明显必要的黑客攻击的问题,而且我的实现可能比必要的复杂得多。任何建议的替代解决方案也可能对其他人有用。
简而言之,一个大型数据表被拆分为多个 JTable,每个页面中都有一个多选项卡 JTabPane。
如果您运行该程序并以各种方式调整它的大小,您将看到该组件的行为方式。明确地,要求是:
将显示具有不同数量记录(1 到 500)的表格数据集。
JTabbedPane 包含一个或多个选项卡,每个选项卡仅包含一个 JScrollPane。
JScrollPanes 不能有垂直滚动条,可能有水平滚动条。
每个 JScrollPane 都包含一个 JTable。
JTabbedPane 中总是有足够的选项卡来共同包含其 JTable 中的所有数据行。
JTabbedPane 大小随应用程序 JFrame 大小而变化。
应用程序可以通过鼠标拖动自由调整大小。
在初始化时,无论何时调整应用程序的大小,JTabbedPane 都会重新构建,并使用足够的选项卡页来保存所有记录。例如,对于 100 条记录,如果在特定的面板大小下,选项卡的表格可以容纳 8 条记录,则创建 13 个选项卡。
如果 JTabbedPane 的大小减小到太小而无法容纳容纳所有数据行所需的选项卡数量,则不会显示任何内容(或仅显示警告)。
对 Java、MigLayout 及其交互有学术兴趣的人可能需要考虑四点:
在源代码中的某个点是以下函数调用:
tb = tabbedPane.getBoundsAt(0);
这是一个黑客。我看不出这个呼召在世上有什么需要;然而它(或其他东西)是必要的。
从理论上讲, ScrollPane.getViewportBorderBounds() 应该给我计算标签页表格大小的信息,但我不得不破解一个值。我错了,还是在我使用它的地方返回了不正确的信息?
有一组令人眼花缭乱的函数——paint()、repaint()、validate()、invalidate()、revalidate()、update()。我发现需要在正确的时间调用特定的函数。调用顺序通常(尽管并非总是很明显)非常重要。这组函数确实可以使用严格但清晰的文档来记录它们与 AWT、Swing 以及彼此之间的交互。他们与布局管理器的交互,特别是与 MigLayout 的交互也可以使用解释。
有没有使用比我使用的方法简单得多的通用 Java 来解决需求?我重新发明轮子只是为了得到拖拉机的胎面吗?
制作:javac -classpath ScrollTableTest.java
用法:java -classpath ScrollTableTest [总数据行数]
java - 哪种布局可以做到这一点?
我正在尝试在我的应用程序中布局一些 JLabel,如下例所示:
我总是在中间有这个 JLabel,其他 JLabel 的数量是可变的,它可以从 1 到 30。我尝试了网格布局,方法是选择大量的列/行并在空白处设置一些空的 JLabel,但我不能得到一个好的结果,也找不到如何用MigLayout 来做,有没有人有一个好的布局解决方案或任何其他解决方案。
PS:我不想显示圆圈,这只是为了显示 JLabels 排列在一个圆圈中。
java - 为什么 MigLayout 不拉伸此表格单元格的大小以适应网格?
下面是我使用 Java Swing 和 MigLayout 作为主要布局管理器创建的 GUI 的屏幕截图。“游戏板”保持了尽可能小的尺寸,但这不是理想的行为。我希望它JPanel
一直延伸到右侧和底部。
为什么布局的行为不像我预期的那样?我可以改变这种行为吗?
以下是主窗口中的相关代码:
前三个组件都有一个TitledBorder
. 它们是JPanel
带有MigLayout
.