问题标签 [grouplayout]
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 - 使用 GroupLayout,如何将单独的组件与一个较长组件的每一端对齐?或者,一个组件可以跨越多个并行组吗?
tl;博士:我想做第二张图片中的内容(忽略红线)
我了解 GroupLayout 的工作原理,但我无法弄清楚,或者它是否可能。我最初有这个代码:
产生了这个:
但是,我想对齐进度条开始和结束处的 2 个顶部标签,以及进度条开始、中间和结束处的 3 个底部标签,如下所示(mspainted):
我的第一个方法是尝试将组件拆分为我用上面的行创建的并行组。我将支柱放在进度条的两侧,将 4 个末端标签与那些对齐,并将中心标签与进度条本身对齐:
然而,正如我所料,这迫使进度条挤进前 2 个标签
之间的水平空间,如下所示:
最后,我想到了摆脱支柱,并将进度条添加到三个独立的平行组中:LEADING
与两个左侧标签对齐,CENTER
与中间标签对齐,与右侧标签对齐TRAILING
:
然而,Swing 显然忽略了第二次和第三次提到的进度条,我最终得到了这个:
我认为我在这方面做得相当不错,而且我完全没有想法。有没有办法让一个组件跨越多个并行组?
java - NetBeans, GUI builder (group layout) centering a component
I'm trying to design a JButton (an "Ok" button) that to look good has to be horizontally centered in the containing JFrame.
I'm using the GUI Builder with the Free Form layout (GroupLayout).
I've taken several GUI builder tutorials (http://netbeans.org/kb/docs/java/quickstart-gui.html) but haven't found this topic. In other gui builders (delphi) this can be done by removing the anchors from both edges.
java - 在Java Swing的屏幕中心对齐GroupLayout?
因此,如果我有这样的 GUI:
现在,当我运行程序时,它与屏幕左上角的 (0,0) 位置对齐。无论如何我可以将它与屏幕中心或另一个自定义位置对齐吗?
如果我只使用一个框架而不使用 GroupLayout,这很好用,比如 setLocation(left,top),但是通过这个实现,我如何更改这个 GUI 的默认定位?
java - Swing GroupLayout:调整和限制组件大小
我GroupLayout
用来管理一些动态生成的数据输入表单中的组件。布局或多或少是这样的:
我为水平布局使用 2 个并行组,为垂直布局使用一个顺序组。在大多数情况下,一切正常。
我想将标签的最大宽度(只是 的实例JLabel
)限制为 parent 宽度的 1/3 JFrame
。如果JFrame
是固定大小,这将是微不足道的,但我必须处理它被调整大小。
我正在从中获取ComponentListener.componentResized()
事件,JFrame
但是一旦收到这样的事件,我就有点不知道该怎么做。
我试过这种方法没有任何运气:
任何人都可以提出一种限制标签宽度的方法吗?
我可能每次都可以从头开始重建布局,但我觉得应该有一个更简单的方法。
java - 使用 GroupLayout 将组件呈现在彼此之上
我试图学习如何使用 Java Swing 的 GroupLayout。
首先,我只想制作一个由 JLabels 制成的网格。
我遇到的问题是 JLabels 被直接呈现在彼此之上(即在完全相同的位置,因此一个模糊另一个)。
下面是我在列中应该包含 3 个 JLabel 的代码:
如何让标签正确定位。
谢谢
java - Java - 如何在 GroupLayout 中调整组件的大小
我对GroupLayout有疑问。我的代码是:
问题是 Layout 中的组件尽可能大。我不能限制这个大小。问题是,如何为项目设置例如恒定高度?
或者另一方面,调整窗口大小时调用哪个函数?我可以覆盖该函数,getSize 父 JPanel(它在 JPanel 中),然后根据百分比设置大小吗?你怎么看?
// 问题解决了。
在底部变化的第五行
为了
谢谢大家的帮助。
java - Java 视图更新
我正在为我在大学的 3 级项目做一项复杂的工作,其中大约 90% 进展顺利,但我在整个项目中不断遇到类似的问题。
我遇到的问题是,当我以编程方式更新视图时,更新并不总是立即可见。我尝试了许多不同的方法来解决这个问题,以不同的组合和顺序调用 redraw、repaint、repaintImediately、doLayout、validate、revalidate 等,以尝试使其工作,有时会,有时不会. 我发现 validate 大多数时候都有效。
我目前遇到的问题(并且已经持续了几天)是关于我需要以属性编辑器的样式列出数据的视图(想想 netbeans/jdeveloper 属性检查器)。属性的标签都可以是不同的宽度(但相同的高度),可编辑字段本身通常是相同的宽度,但不同的高度(文本编辑器、下拉菜单和颜色选择器等)。出于这个原因,我选择使用 GroupLayout,它需要一些学习才能让它正确,但现在它是正确的。也就是说,当我最初运行项目时,它显示正确,但是当我选择另一个组件来查看(应该更新属性查看器)时,最初没有任何反应。当我调整视图大小时,所有旧字段都消失了,没有新字段回来了。
最初我只是将这个视图放在屏幕上,但后来改为使用 JScrollPane 以允许更大的属性列表。我认为这是事情开始出错的地方,但我不知道如何。
我的问题有两个,当以编程方式更改时强制视图更新的可靠方法是什么(效率很好,但在这一点上可靠更重要)。在这里,我很乐意链接到 java 文档中的某个地方,该文档清楚地解释了它。
第二部分与下面这段代码相关(我的属性查看器的setSubject方法)。有人可以告诉我为什么它不起作用,因为我想不出别的办法。
我已经稍微更改了代码,试图尽量减少可能发生此错误的地方。
java - 如何迭代地将组件添加到 Swing GroupLayout ParallelGroup?
有没有办法遍历组件列表并将它们添加到 Swing GroupLayout 中的 ParallelGroup?
这似乎很困难,因为没有办法获得 ParallelGroup。
这是生成组件列表的代码(在本例中为 JCheckBoxes)。
List 正在工作,但我如何遍历 List 以将每个 JCheckbox 插入到 GroupLayout 的 ParallelGroup 中?例如,下面的代码将无法编译。
或者,是否有人知道获取 ParallelGroup 的方法,以便我可以在独立的 for 循环中迭代地将组件添加到该组?
java - Swing 的 GroupLayout 和 setContentPane - 丢失组件?
经过实验,在我看来,Swing 的 GroupLayout 往往会丢失打算在我的 GUI 中重复使用的组件。
但我在文档中没有看到任何明确说明此一次性使用规则的内容。这让我怀疑我是否犯了一个错误,或者我是否是一个糟糕的读者。
例如,我用 JButton("Foo") 的 GroupLayout 制作了一个 JPanel。然后我用同一个 JButton 的 GroupLayout 制作另一个 JPanel,重命名为“Bar”。
如果我使用 JFrame.setContentPane 从第二个 JPanel 切换回第一个 JPanel,我会丢失第一个 JPanel 中的 JButton。
任何人都可以解释为什么它会丢失组件,而且,任何人都可以提供一种方法来克服丢失组件的趋势吗?
这是一个完整的 SSCCE 演示该问题:
}
java - 关于组布局
嗨,我已尝试根据我的分配要求实现组布局,下面是我的代码片段,但是当我执行 pack() 时,我在此代码片段中遇到了一个问题;它给我抛出异常我也不知道如何让它可见请指导我哪里我错了代码建议会很有帮助
提前致谢