问题标签 [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 投票
3 回答
38339 浏览

java - 在一个 JFrame 中包括两个以上的面板?

我们正在开展一个项目,在该项目中遇到了在同一个 JFrame 上包含两个以上面板的问题。我们想要的是一个面板在另一个之上。

社区能否提供一个示例来实现这一点,或者向我推荐与我们的 Java Swing 需求相关的优秀教程或指南?

0 投票
2 回答
7032 浏览

java - 最佳实践指南:摇摆

有谁知道 Swing 相关的 GUI 指南——特别是关于如何设计 Swing 应用程序以及我应该使用哪些组件?我不是在寻找官方标准,而是我可以用来为我的项目设定好的标准的实用技巧。

我自己并没有使用过多的 Swing。当然,使用 GUI 设计器单击 GUI 并不是什么大问题。但是,我想从有 Swing 经验并知道要避免什么的人那里获得一些见解。Swing 最近(在 Java 6-10 中)有了不错的变化。所以目前没有太多具体的标准化。

0 投票
5 回答
37945 浏览

java - 如何防止 Java Swing BoxLayout 中的 JTextFields 扩展?

我有一个JPanel看起来像这样的东西:

我的问题是JTextFields 在垂直方向上变得很大。我希望它们只够高到一行,因为这是用户可以输入的全部内容。按钮很好(它们不会垂直扩展)。

有什么办法可以防止JTextFields 膨胀吗?我对 Swing 很陌生,所以如果我做的一切都非常错误,请告诉我。

0 投票
3 回答
500 浏览

java - Swing 布局 - 在保持组件尺寸的同时使用网格

我想为应用程序制作一个登录栏,但我不知道如何组织一系列 JLabels 和 JTextField,以便它们在水平网格中组织,而无需调整这些相同组件的大小以适合每个单元格。我还想确保组件组的大小不会调整到某个宽度以下。如何做到这一点?

编辑:谢谢大家的回答。稍后我会看看 MigLayout 和 SpringLayout。由于时间限制,我将不得不使用可视化编辑器并使用空布局。组件的位置和尺寸必须手动调整,但至少它们保持原样。这是一张图片,显示了我想做的事情。

吧 http://img145.imageshack.us/img145/7356/bargw.png

0 投票
4 回答
94396 浏览

java - 如何在 Java Swing 中控制 JTextField 的宽度?

我试图在一行上有几个 JTextField,但我不希望它们具有相同的宽度。如何控制宽度并使其中一些比其他更宽?我希望它们一起占据总宽度的 100%,所以如果我可以使用某种称重装置会很好。

我试过了,.setColumns()但没有意义。

这是一个示例,其中我使用三行和三个字符串,这些字符串应显示为列:

0 投票
1 回答
1205 浏览

java - 如何“打包()”一个可打印的 Java Swing 组件?

我已经实现了一个 Java Swing 组件,它实现了Printable. 如果我将组件添加到 JFrame,并this.pack();在 JFrame 上执行,它会完美打印。但是,如果我不将组件添加到 JFrame,则只会打印一个空白页。

此代码提供了很好的打印输出:

但是这段代码给出了一个空白页:

我认为这this.pack();是最大的不同。如何pack()在我的可打印组件上进行操作,使其打印正常,而不将其添加到 JFrame?该面板正在使用多个 LayoutManager。

我已经尝试过p.validate();p.revalidate();但它不起作用。有什么建议么?还是在打印组件之前必须将其添加到隐藏的 JFrame 中?

更新:如果我p.doLayout();打印了某些部分,但不打印子组件。并来自以下文档doLayout()

使该容器布置其组件。大多数程序不应直接调用此方法,而应调用 validate 方法。

p.validate();对我不起作用

0 投票
3 回答
16194 浏览

java - How to right-justify icon in a JLabel?

For a JLabel with icon, if you setHorizontalTextPosition(SwingConstants.LEADING), the icon is painted right after text, no matter how wide the label is.

This is particularly bad for a list, as the icons would be all over the place depending on how long the text is for each item.

I traced the code and it seems to be that in SwingUtilities#layoutCompoundLabelImpl, text width is simply set to SwingUtilities2.stringWidth(c, fm, text), and icon x is set to follow text without considering label width.

Here is the simplest case:

You can see that label always fills the frame but icon stays put. You'll get the mirror problem if you set both arguments to TRAILING.

I know I can override the UI, or use a JPanel, etc. I just wonder if I'm missing something simple in JLabel. If not, it seems like a Java bug.

FYI this is jdk1.6.0_06 on Windows XP.

0 投票
4 回答
2210 浏览

java - 使用 GridBagLayout 构建垄断板

我在业余时间一直在构建 Java 版本的 Monopoly,但在理解 Swing 的布局等方面遇到了一些麻烦。

我在板上的每个空间本质上都是一种习惯JButton,我一直试图将它们放置在框架的边缘(就像垄断板本身一样)。我似乎找不到有关布局系统如何工作的有用解释,因此在这样做时遇到了麻烦。

有人可以给我一个例子,说明他们如何将按钮放在框架边缘?我应该使用不同的布局吗?

0 投票
1 回答
1060 浏览

layout-manager - 如何构建自定义 draw2d 布局管理器?

我想要一个布局管理器,可以按如下方式排列两个元素:

  • 一个主要元素 ABCDEF 居中

  • 一个“后记”元素 XYZ,位于封装图的右上角

例如:

我可以为此使用现有的布局管理器吗?如何构建支持它的自定义布局管理器?

非常感谢您的建议。

0 投票
1 回答
175 浏览

java - 在 Java Swing 中放置 ot 组件

哦,干草在那里,没看到你。我想知道是否有比我在下面所做的更好、更有效的方式来格式化 java 中的标签、面板和按钮。这是我的代码,我想让欢迎、日期和按钮都在不同的行上。这样做的唯一合乎逻辑的方法是创建空白标签,对吗?