问题标签 [layout-manager]

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 回答
171 浏览

java - 使用 GroupLayout 后获取 JComponent 的正确大小

我想问是否有可能在将 JPanel 放置在另一个使用 GroupLayout 作为布局管理器的 JPanel 中后获得正确大小的 JPanel。我已经尝试过使用:

.getPreferredSize():这会导致我设置的首选大小,而不是在框架中的 JPanel 上绘制的实际大小(如果调整框架的大小,元素将水平扩展;这在值中看不到)。

.getSize():它返回 0。

.getHeight():它返回 0。

.getWidth():它返回 0。

也许代码的位置是相关的,但它是在屏幕上显示之后执行的,所以这无关紧要。

为了在屏幕上显示后强制它这样做,也许我可以使用 EventQueue,但我不确定如何。

谢谢您的回答!

0 投票
3 回答
4342 浏览

java - 如何在这里使用 setResizable 方法

在此处输入图像描述 我正在使用 netbeans 作为 IDE。我如何在 JFrame 上进行设置。我setResizable(false)在 netbeans 中看不到 JFrame 的对象。

0 投票
2 回答
839 浏览

javascript - MVC/Backbone.js 应用程序的 JavaScript 布局管理?

我的 Web 应用程序是用 Backbone.js 编写的,有我所说的许多“模式”。每种模式都描述了当前处于活动状态的模型和视图。通过更改哈希 (#) 中的模式参数,我在模式之间切换并实例化必要的主干模型和视图。

描述首选布局并在模式级别注入容器 html 代码似乎是合乎逻辑的。

假设“PopulationPyramidMode”模式有一个模型和 3 个主干视图。“HeaderView”应垂直占用 30 个像素。“SidebarView”应该在水平方向占据 200 像素,“CanvasView”应该填满屏幕的湿润并在调整大小事件时缩放。

更复杂的是,CanvasView 拥有一个必须在调整大小时重新渲染的可视化,即必须重新计算 x/y 比例。

那么,最好的方法是什么?

1)布局逻辑应该去哪里?
- 在单独的 layoutManager 上 - 在这种情况下如何?
- 每个视图是否应该描述其首选大小等?

2) 如何为我的布局注入必要的 HTML/CSS 并在它们之间切换?

感谢您提供任何具体提示以及一般的 JavaScript 布局!

0 投票
3 回答
484 浏览

java - Swing:有没有一种简单的方法可以让 1 个组件忽略布局管理器?

我有一个 JPanel,其中包含一个我想绝对放置的组件,而其余组件是根据布局管理器放置的。

有没有一种简单的方法可以做到这一点?

0 投票
1 回答
1194 浏览

java - 动态调整大小但与 LayoutManager 互操作的自定义 Swing 组件

我有一个子类JPanel,可以作为一些信息的视图。

当信息改变时,最小/最大/首选大小JPanel也可能改变。

如何正确处理此事件以使其与LayoutManager?

我尝试覆盖getPreferredSize(),但它似乎只被调用一次。

0 投票
1 回答
4856 浏览

swing - JLabel 水平定位未按预期工作

这是一个 JFrame,我打算用一系列具有以下属性的 JLabel 来展示它:

  • 垂直堆叠
  • 水平居中
  • 绿色边框
  • 白色背景
  • 蓝色文字

但我得到了这个:

在此处输入图像描述

蓝色文本,垂直堆叠,绿色边框可以正常工作,但白色背景和水平居中则不行。我还以为标签会跨越 JPanel 的整个宽度。

我究竟做错了什么?


编辑:错过了这个关于背景颜色的问题。所以我剩下的问题是关于 BoxLayout 和组件在另一个轴上的定位。


0 投票
2 回答
4912 浏览

java - Swing:列流布局管理器?

我正在寻找一个LayoutManager允许我在一个容器(例如一个JPanel)中显示一组组件的列,大致如下。

  • 容器的宽度是一个输入约束。
  • 容器的首选高度是宽度的函数,可以是:
    • 当布局在一列以上时,使组件适合宽度所需的最小高度。
    • 使组件适合单个列所需的最小高度。
  • 组件将按报纸栏的顺序排列,从上到下,然后从左到右。

这是一个显示 13 个组件的示例(低技术文本显示)。如果它们可以放在 3 列中,它们将如下所示:

如果太宽,它们看起来像这样:

如果太宽,它们看起来像这样:

是否有一个预先存在的 LayoutManager 我可以使用或子类来做这样的事情?


编辑:这与关于垂直布局的其他问题非常接近,但是该布局的组件高度是约束,而我的组件宽度是约束。

0 投票
2 回答
1574 浏览

java - Swing 和 JPanels,布局管理器

几周前,我尝试过使用 Swing(第一次),我自己冒险了一段时间,以获得更好的感觉。我似乎遇到了垂直对齐的问题。

情况如下:我在边界布局的西部有一个 boxlayout(Y_AXiS) JPanel。在带有 boxlayout 的 JPanel 内部,我还有两个想要垂直对齐的 JPanel(无论框架的尺寸如何,都被推向屏幕顶部)。但是,布局管理器似乎在两个 JPanel 之间放置了一个很大的垂直空间。我在想也许网格布局会更适合这个,但我不确定。我已经尝试过无数次谷歌的答案,并在没有运气的情况下纠正了这个问题。请帮忙!

绘图板.java

这就是我运行它时看到的:http: //concertforhope.net/citeforme/javabug.png

请注意,底部选项卡不会向上推到顶部选项卡上。

NVM,我明白为什么了。标签不是那么小,我以错误的方式填充背景(白框并不代表实际的标签)。谢谢您的帮助。

0 投票
2 回答
283 浏览

java - 在框架上为 Jpanel 分配空间

我有一个 JFrame,我需要在其中添加 2 个不同大小的 JPanel。我正在使用 BorderLayout。我设置了 Frame,以便有足够的空间让两个面板(尺寸已经设置)完美契合。然而,当它运行时,右边的第二个面板被压扁到一边,所以它真的很薄。

0 投票
2 回答
72639 浏览

java - 将多个 jPanel 添加到 jFrame

我想将两个 jPanel 并排添加到 JFrame 中。两个盒子是jpanels,外框是jframe在此处输入图像描述

我有这些代码行。我有一个名为 seatinPanel 的类,它扩展了 JPanel,在这个类中我有一个构造函数和一个名为 utilityButtons 的方法,它返回一个 JPanel 对象。我希望实用程序按钮 JPanel 位于右侧。我在这里的代码只在运行时显示utillityButtons JPanel。