问题标签 [boxlayout]
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 - 这种 Swing 行为是错误吗?神秘的BoxLayout对齐
我一直在使用WindowBuilder Pro for Java Swing 布局,遇到了一些奇怪的行为,我最终能够将其简化为 SSCCE。考虑下面的源代码:
它提供了以下布局:
无论出于何种原因,panel_1
绿色的 ,都会向右浮动。玩弄了代码中的一些参数,我只能找到两种方法彻底杀死绿色面板左侧的缝隙:
- 将构造函数中的
hgap
and更改为 0。vgap
panel_2
或者
minimumSize
将of更改panel_2
为 (0,0)。
做其中任何一个,我们得到这个:
现在,问题是,到底为什么inminimumSize
或in与阻止填充到其父对象的左侧hgap
有任何关系?如果我碰巧想要一个大于零和大于零的我的 in怎么办?那么我将如何消除in左侧的间隙?FlowLayout
panel_2
panel_1
minimumSize
hgap
FlowLayout
panel_2
BoxLayout
panel_1
无论我做什么panel_1
,我都不能让它填满其父容器的整个宽度(除非我panel_2
按照上面的描述进行编辑)。具有讽刺意味的是,如果我将 for 设置alignmentX
为panel_1
,RIGHT_ALIGNMENT
它实际上会向左浮动。但差距仍然存在(就在右边)。当我填充panel_1
内容并增加它的大小时,它右侧的间隙变得越来越小,但从未完全消失,令人沮丧。
这不仅仅发生在panel_2
is a FlowLayout
... 它还发生在JScrollPane
和许多其他类型... 通常没有hgap
参数的类型,这意味着修复左侧间隙的唯一方法panel_1
是更改新容器minimumSize
为 0,这又显得愚蠢且不相关,最重要的是可能不是我的设计意图。
java - 如何使 BoxLayout 中的垂直间隙更小?
我有以下表格,它使用垂直 BoxLayout 和 FlowLayout JPanels 作为行:
我怎样才能使每行之间的巨大差距变小?这是我的代码:
java - BoxLayout 粘在顶部
我刚开始使用 BoxLayout 管理器。
我已经制作了两个相邻的按钮,第三个应该转到下一行(前两个下方),前两个按钮应该在框架的顶部。
我怎样才能做到这一点?
这是我当前的代码
java - 无法使框布局工作
Java Swing 布局的新手。经过大量阅读,我认为对我来说最好的布局是盒子布局。我的 JDialogBox 上有一个 JTabbedPane。在 JTabbedPane 上,有四个 JPanel。我专注于布置其中一个面板,称为 pnlDivision。
我想要对这个面板做的是添加一系列可滚动的面板。面板将垂直堆叠在一起,每个面板将由一行组成。每个面板中都包含水平对齐的标签,用户可以选择其中的任何一个进行编辑。
目前,我什至无法在我的选项卡式面板上显示任何内容。首先关注基础知识,我有以下代码只是为了了解设置框布局的想法,其中包含一个可滚动的面板和一个标签。但是我的标签面板仍然是空白的。谁能看到这个基本代码有什么问题?我已经阅读了很多关于这方面的资源,但我无法摆脱困境。
非常感谢 !
编辑:
这是我设置选项卡式面板的代码。我使用了 IDE (NetBeans),所以这是由 NetBeans 生成的。我只删除了与此问题相关的内容。如果我明显遗漏了任何行,请告诉我:
java - 将 JLabel 与 BoxLayout 中的 JScrollPane 对齐
我正在尝试将 JLabel 和 JScrollPane(包含 JTextArea)与 JPanel 的左侧对齐。当我将 JTextArea 直接放在面板中时,对齐是正确的。仅当 JTextArea 位于滚动窗格中时,对齐才会不正确。
下面的第一张图片带有滚动窗格,第二张图片没有它。如何正确对齐滚动窗格?
java - boxlayout中是否有“从上到下”和“从右到左”?
我有一些表格应该在框架上从右到左和从上到下绘制。现在我使用绝对布局和协调工作。是否有任何BoxLayout
或任何其他 Java 布局可以做到这一点?我应该提到表的数量是动态的。
我的第二个问题是如何将这些表格停靠在框架上?我的意思是当框架调整大小时,表格保持它们在屏幕上的位置。
html - 包含 div 边距或填充的 CSS 流体布局导致溢出
我有一个jsfiddle,其中最外面的包装 div 有 100% 的宽度。我想创建内部 div(tb_margin 或 tb_padding),其内容应从左侧 40px 开始。我尝试了边距和填充来创建这个 40px 的左间距,但在这两种情况下,由于宽度为 100%,实际 div 从右侧延伸出来。
我希望标签包含在一个 div(tb_margin 或 tb_padding)中,它从左侧偏移 40px,但应该延伸到整个宽度直到右边框。
我不想将溢出:隐藏在(tb_margin 或 tb_padding)中,因为这样做如果选项卡太多,选项卡将被隐藏。理想情况下,选项卡应该换行到 (tb_margin 或 tb_padding) 包含的下一行。
我真的希望 CSS 框布局更直观,或者我错过了什么
java - BoxLayout.X_AXIS 中 JPanel 上的 EmptyBorders
我有一个自定义的 JPanel,它的paintComponent 方法被覆盖以绘制图像。
我想在容器中垂直居中插入几个这样的自定义面板。为此,我创建了一个以 BoxLayout.X_AXIS 作为布局管理器的 jpanel。
这很好用,显示了我想要的,但我想在自定义面板之间添加边距。
EmptyMargins 只是被忽略了,棘手的部分是我不能(或不想......)在它们之间添加支柱或框,因为我需要从循环中获取每个自定义面板,该循环需要容器的所有组件并将它们投射到 CustomPanel 中。
看到问题了吗?如果我在面板之间添加支柱,则会出现演员表异常并且 EmptyBorders 不起作用......欢迎任何想法!
注意:我对其他布局管理器提议持开放态度!;-)
这是代码:
java - BoxLayout动态添加组件(两列)
我想创建一个 JPanel,我可以在其中添加 Text Fields min 1 max 12。(所以我决定创建 JPanel,它有足够的空间来包含 6 行和 2 列中的 12 个文本字段)。这取决于用户将选中多少个复选框。更重要的是,这些文本字段应该在此 JPanel 中以左对齐的方式从上到下出现。并且每次未选中其中一个复选框时,指定的文本字段都会从 JPanel 中删除,其余的会移动到这个空白区域(向上移动以覆盖其空间)。
因此,如果有必要,我会创建文本字段,而不是在开头创建所有内容并 setVisible(false)。我认为这是更好的解决方案。
例如:
(而且我不在乎这个按钮出现在哪里,重要的是,这个按钮应该出现在这个面板中的现有按钮之后)
我得到了什么
如果 JPanel 底部没有足够的空间,LM 应该在从顶部开始的下一列中添加此文本字段。在此示例 6x2 中,如果我尝试添加另一个(第 7 个)文本字段,并且在此列中没有足够的空间,它应该出现在顶部的第二列中,但事实并非如此。当我使用 BoxLayout 时,第 7 个文本字段一半出现在 JPanel 上,一半出现在上面。
我应该怎么办?更改布局管理器,或者可能有不允许越界 JPanel 的选项? (这是最重要的)
我得到这个:,并且想要这个:
(对不起语言 - 这是第一次)
- - 编辑 - -
万一我们误解了:让我做对了,我正在寻找不同 LM 中的方法/选项,如果没有空间添加 TextField(在本例中为第 7 个),它可以帮助我“滚动”行,应该移动到 TOP 上的下一个(列)。我没有定义 2 列,但是这个 JPanel 的区域让我觉得好像有一个空间可以容纳 2 列 JTextField。当我添加所有 12 个字段并删除例如第二个字段时,它们应该向上移动以覆盖这个空间
java - 在 BoxLayout 中调整 JButton 的大小
我正在尝试为我的游戏制作一个简单的菜单。我在中心有 4 个按钮,我想让它们大一点并居中。
最后一部分有效,但我似乎无法调用我的任何一个JButtons
并对其执行.setSize
/ .setPreferedSize(new Dimension())
。